{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# `metadsl`\n",
    "\n",
    "...is a framework for creating domain specific languages in Python."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "from metadsl_all import *"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## LLVM\n",
    "In this demo, we will show the current work on compiling to an LLVM function, using LLVM lite. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [],
   "source": [
    "import metadsl_rewrite\n",
    "import metadsl as m\n",
    "import metadsl_core as mc\n",
    "import metadsl_llvm as ml\n",
    "import metadsl_visualize"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Simple function"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": true,
    "jupyter": {
     "outputs_hidden": true
    }
   },
   "outputs": [
    {
     "data": {
      "application/x.typez+json": {
       "nodes": [
        {
         "id": "620784253559051387",
         "repr": "add",
         "type": "str"
        },
        {
         "id": "3897048290446240432",
         "repr": "<function add at 0x1124b00d0>",
         "type": "function"
        },
        {
         "id": "-5076811030180719980",
         "repr": "32",
         "type": "int"
        },
        {
         "id": "-4262466165513757285",
         "repr": "1",
         "type": "int"
        },
        {
         "args": [
          "620784253559051387"
         ],
         "function": "ModRef.create\n",
         "id": "-1259645767813234200"
        },
        {
         "args": [
          "3897048290446240432"
         ],
         "function": "FunctionTwo.from_fn\n",
         "id": "4216686198697142956"
        },
        {
         "args": [
          "-5076811030180719980"
         ],
         "function": "Type.create_int\n",
         "id": "896411822270447236"
        },
        {
         "args": [
          "896411822270447236",
          "896411822270447236",
          "896411822270447236"
         ],
         "function": "FnType.create\n",
         "id": "6920011226272107764"
        },
        {
         "args": [
          "4216686198697142956",
          "-1259645767813234200",
          "6920011226272107764"
         ],
         "function": "llvm_fn_2\n",
         "id": "900348640671044205"
        },
        {
         "args": [
          "900348640671044205"
         ],
         "function": "to_llvm_fn_2\n",
         "id": "8402243721768722821"
        },
        {
         "args": [
          "-1259645767813234200",
          "8402243721768722821"
         ],
         "function": "ModRef.mod\n",
         "id": "-1314114168243043537"
        },
        {
         "args": [
          "8402243721768722821"
         ],
         "function": "Fn.ref\n",
         "id": "-1518106505114955544"
        },
        {
         "args": [
          "-1314114168243043537",
          "-1518106505114955544",
          "-4262466165513757285"
         ],
         "function": "compile_function\n",
         "id": "-7544569675371277540"
        },
        {
         "id": "7781026350250794067",
         "repr": "FunctionReplaceTyping(fn=<function FunctionTwo.from_fn.<locals>.inner at 0x126f9e700>, typevars=HashableMapping({~U=<class 'metadsl_llvm.ir_context.ValueExpr'>, ~T=<class 'metadsl_llvm.ir_context.ValueExpr'>, ~V=<class 'metadsl_llvm.ir_context.ValueExpr'>}), typevars_in_scope=frozenset({~U, ~U, ~T, ~V, ~T}))",
         "type": "FunctionReplaceTyping"
        },
        {
         "args": [
          "7781026350250794067"
         ],
         "function": "Abstraction.from_fn\n",
         "id": "969828299519897916"
        },
        {
         "args": [
          "620784253559051387",
          "969828299519897916"
         ],
         "function": "FunctionTwo.create\n",
         "id": "-1155384131026903607",
         "type_params": {
          "T": {
           "type": "ValueExpr"
          },
          "U": {
           "type": "ValueExpr"
          },
          "V": {
           "type": "ValueExpr"
          }
         }
        },
        {
         "args": [
          "-1155384131026903607",
          "-1259645767813234200",
          "6920011226272107764"
         ],
         "function": "llvm_fn_2\n",
         "id": "-6558361801548018885"
        },
        {
         "args": [
          "-6558361801548018885"
         ],
         "function": "to_llvm_fn_2\n",
         "id": "4196253843142668692"
        },
        {
         "args": [
          "-1259645767813234200",
          "4196253843142668692"
         ],
         "function": "ModRef.mod\n",
         "id": "6682980609559048028"
        },
        {
         "args": [
          "4196253843142668692"
         ],
         "function": "Fn.ref\n",
         "id": "1950723808415925704"
        },
        {
         "args": [
          "6682980609559048028",
          "1950723808415925704",
          "-4262466165513757285"
         ],
         "function": "compile_function\n",
         "id": "-5019586593618753490"
        },
        {
         "id": "8392303961884047179",
         "repr": "0x126f09100",
         "type": "Variable"
        },
        {
         "id": "-34611391040375365",
         "repr": "FunctionReplaceTyping(fn=<function FunctionTwo.from_fn.<locals>.inner.<locals>.inner at 0x126f9ea60>, typevars=HashableMapping({~U=<class 'metadsl_llvm.ir_context.ValueExpr'>, ~T=<class 'metadsl_llvm.ir_context.ValueExpr'>, ~V=<class 'metadsl_llvm.ir_context.ValueExpr'>}), typevars_in_scope=frozenset({~U, ~U, ~T, ~V, ~T}))",
         "type": "FunctionReplaceTyping"
        },
        {
         "args": [
          "8392303961884047179"
         ],
         "function": "Abstraction.create_variable\n",
         "id": "8423160141067014784",
         "type_params": {
          "T": {
           "type": "ValueExpr"
          },
          "U": {
           "params": {
            "T": {
             "type": "ValueExpr"
            },
            "U": {
             "type": "ValueExpr"
            }
           },
           "type": "Abstraction"
          }
         }
        },
        {
         "args": [
          "-34611391040375365"
         ],
         "function": "Abstraction.from_fn\n",
         "id": "9084297116310206711"
        },
        {
         "args": [
          "8423160141067014784",
          "9084297116310206711"
         ],
         "function": "Abstraction.create\n",
         "id": "8289950312094059178",
         "type_params": {
          "T": {
           "type": "ValueExpr"
          },
          "U": {
           "params": {
            "T": {
             "type": "ValueExpr"
            },
            "U": {
             "type": "ValueExpr"
            }
           },
           "type": "Abstraction"
          }
         }
        },
        {
         "args": [
          "620784253559051387",
          "8289950312094059178"
         ],
         "function": "FunctionTwo.create\n",
         "id": "-3178570436328905759",
         "type_params": {
          "T": {
           "type": "ValueExpr"
          },
          "U": {
           "type": "ValueExpr"
          },
          "V": {
           "type": "ValueExpr"
          }
         }
        },
        {
         "args": [
          "-3178570436328905759",
          "-1259645767813234200",
          "6920011226272107764"
         ],
         "function": "llvm_fn_2\n",
         "id": "-8212509432591171867"
        },
        {
         "args": [
          "-8212509432591171867"
         ],
         "function": "to_llvm_fn_2\n",
         "id": "2037650416532720781"
        },
        {
         "args": [
          "-1259645767813234200",
          "2037650416532720781"
         ],
         "function": "ModRef.mod\n",
         "id": "-1886862411071738266"
        },
        {
         "args": [
          "2037650416532720781"
         ],
         "function": "Fn.ref\n",
         "id": "5613029962772109244"
        },
        {
         "args": [
          "-1886862411071738266",
          "5613029962772109244",
          "-4262466165513757285"
         ],
         "function": "compile_function\n",
         "id": "-2788355527705886893"
        },
        {
         "id": "-5858181185819418459",
         "repr": "0x126f090a0",
         "type": "Variable"
        },
        {
         "args": [
          "-5858181185819418459"
         ],
         "function": "Abstraction.create_variable\n",
         "id": "-6364977314004511193",
         "type_params": {
          "T": {
           "type": "ValueExpr"
          },
          "U": {
           "type": "ValueExpr"
          }
         }
        },
        {
         "args": [
          "8423160141067014784",
          "-6364977314004511193"
         ],
         "function": "ValueExpr.__add__\n",
         "id": "-8939903496300395032"
        },
        {
         "args": [
          "896411822270447236",
          "-4262466165513757285"
         ],
         "function": "Value.constant\n",
         "id": "3517026737124413055"
        },
        {
         "args": [
          "3517026737124413055"
         ],
         "function": "ValueExpr.from_value\n",
         "id": "-3412638507357442443"
        },
        {
         "args": [
          "-8939903496300395032",
          "-3412638507357442443"
         ],
         "function": "ValueExpr.__add__\n",
         "id": "-4108499135143038352"
        },
        {
         "args": [
          "-6364977314004511193",
          "-4108499135143038352"
         ],
         "function": "Abstraction.create\n",
         "id": "8245274598728381546",
         "type_params": {
          "T": {
           "type": "ValueExpr"
          },
          "U": {
           "type": "ValueExpr"
          }
         }
        },
        {
         "args": [
          "8423160141067014784",
          "8245274598728381546"
         ],
         "function": "Abstraction.create\n",
         "id": "-2759534131045922131",
         "type_params": {
          "T": {
           "type": "ValueExpr"
          },
          "U": {
           "params": {
            "T": {
             "type": "ValueExpr"
            },
            "U": {
             "type": "ValueExpr"
            }
           },
           "type": "Abstraction"
          }
         }
        },
        {
         "args": [
          "620784253559051387",
          "-2759534131045922131"
         ],
         "function": "FunctionTwo.create\n",
         "id": "-7483102845107297537",
         "type_params": {
          "T": {
           "type": "ValueExpr"
          },
          "U": {
           "type": "ValueExpr"
          },
          "V": {
           "type": "ValueExpr"
          }
         }
        },
        {
         "args": [
          "-7483102845107297537",
          "-1259645767813234200",
          "6920011226272107764"
         ],
         "function": "llvm_fn_2\n",
         "id": "6519690973665563379"
        },
        {
         "args": [
          "6519690973665563379"
         ],
         "function": "to_llvm_fn_2\n",
         "id": "-4728324438507038673"
        },
        {
         "args": [
          "-1259645767813234200",
          "-4728324438507038673"
         ],
         "function": "ModRef.mod\n",
         "id": "5502144708012483519"
        },
        {
         "args": [
          "-4728324438507038673"
         ],
         "function": "Fn.ref\n",
         "id": "6387556872012279810"
        },
        {
         "args": [
          "5502144708012483519",
          "6387556872012279810",
          "-4262466165513757285"
         ],
         "function": "compile_function\n",
         "id": "-930643336028134972"
        },
        {
         "id": "8314187887841895722",
         "repr": "fastcc",
         "type": "str"
        },
        {
         "id": "-3318752011457938249",
         "repr": "0",
         "type": "int"
        },
        {
         "id": "2174576262982190149",
         "repr": "True",
         "type": "bool"
        },
        {
         "id": "-8647664536320713804",
         "repr": "None",
         "type": "NoneType"
        },
        {
         "id": "2608332961566761191",
         "repr": "4952224960",
         "type": "_Uniq"
        },
        {
         "args": [
          "-4262466165513757285"
         ],
         "function": "Integer.from_int\n",
         "id": "-7137755224053718221"
        },
        {
         "args": [
          "-3318752011457938249"
         ],
         "function": "Integer.from_int\n",
         "id": "8201783764071103985"
        },
        {
         "args": [
          "-7483102845107297537"
         ],
         "function": "FunctionTwo.unfix\n",
         "id": "8320059416467095509",
         "type_params": {
          "T": {
           "type": "ValueExpr"
          },
          "U": {
           "type": "ValueExpr"
          },
          "V": {
           "type": "ValueExpr"
          }
         }
        },
        {
         "args": [
          "-7483102845107297537"
         ],
         "function": "FunctionTwo.name\n",
         "id": "-8588064480652455713",
         "type_params": {
          "T": {
           "type": "ValueExpr"
          },
          "U": {
           "type": "ValueExpr"
          },
          "V": {
           "type": "ValueExpr"
          }
         }
        },
        {
         "args": [
          "-1259645767813234200",
          "-8588064480652455713",
          "6920011226272107764",
          "8314187887841895722"
         ],
         "function": "ModRef.fn\n",
         "id": "-461757392959556412"
        },
        {
         "args": [
          "-461757392959556412"
         ],
         "function": "FnRef.fn\n",
         "id": "1779571658951237151"
        },
        {
         "args": [
          "-461757392959556412"
         ],
         "function": "FnRef.arguments\n",
         "id": "-5134625155791408300"
        },
        {
         "args": [
          "-461757392959556412",
          "2174576262982190149",
          "-8647664536320713804",
          "2608332961566761191"
         ],
         "function": "FnRef._block\n",
         "id": "3316780063223336526"
        },
        {
         "args": [
          "1779571658951237151"
         ],
         "function": "from_llvm_fn_2\n",
         "id": "-1653864567677501261"
        },
        {
         "args": [
          "-5134625155791408300",
          "8201783764071103985"
         ],
         "function": "Vec.__getitem__\n",
         "id": "-8652182413204583090",
         "type_params": {
          "T": {
           "type": "Value"
          }
         }
        },
        {
         "args": [
          "-5134625155791408300",
          "-7137755224053718221"
         ],
         "function": "Vec.__getitem__\n",
         "id": "4814462457487505855",
         "type_params": {
          "T": {
           "type": "Value"
          }
         }
        },
        {
         "args": [
          "3316780063223336526",
          "1779571658951237151"
         ],
         "function": "Pair.create\n",
         "id": "1858901617407417543"
        },
        {
         "args": [
          "8320059416467095509",
          "-1653864567677501261"
         ],
         "function": "Abstraction.__call__\n",
         "id": "1162557507180442454",
         "type_params": {
          "T": {
           "params": {
            "T": {
             "type": "ValueExpr"
            },
            "U": {
             "type": "ValueExpr"
            },
            "V": {
             "type": "ValueExpr"
            }
           },
           "type": "FunctionTwo"
          },
          "U": {
           "params": {
            "T": {
             "type": "ValueExpr"
            },
            "U": {
             "type": "ValueExpr"
            },
            "V": {
             "type": "ValueExpr"
            }
           },
           "type": "FunctionTwo"
          }
         }
        },
        {
         "args": [
          "-8652182413204583090"
         ],
         "function": "ValueExpr.from_value\n",
         "id": "5719487294829646472"
        },
        {
         "args": [
          "4814462457487505855"
         ],
         "function": "ValueExpr.from_value\n",
         "id": "1210251829708405986"
        },
        {
         "args": [
          "1162557507180442454",
          "5719487294829646472",
          "1210251829708405986"
         ],
         "function": "FunctionTwo.__call__\n",
         "id": "5459579062888782423",
         "type_params": {
          "T": {
           "type": "ValueExpr"
          },
          "U": {
           "type": "ValueExpr"
          },
          "V": {
           "type": "ValueExpr"
          }
         }
        },
        {
         "args": [
          "5459579062888782423",
          "1858901617407417543"
         ],
         "function": "ValueExpr.build\n",
         "id": "-5411004233649803351"
        },
        {
         "args": [
          "-5411004233649803351"
         ],
         "function": "Pair.right\n",
         "id": "-8664485237187706614",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "-5411004233649803351"
         ],
         "function": "Pair.left\n",
         "id": "-2407972428289166087",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "-8664485237187706614"
         ],
         "function": "Pair.right\n",
         "id": "-1308461549846248659",
         "type_params": {
          "T": {
           "type": "BlockRef"
          },
          "U": {
           "type": "Fn"
          }
         }
        },
        {
         "args": [
          "-8664485237187706614"
         ],
         "function": "Pair.left\n",
         "id": "2184131738873329801",
         "type_params": {
          "T": {
           "type": "BlockRef"
          },
          "U": {
           "type": "Fn"
          }
         }
        },
        {
         "args": [
          "2184131738873329801",
          "-2407972428289166087"
         ],
         "function": "BlockRef.ret\n",
         "id": "-4538652332624852374"
        },
        {
         "args": [
          "-1308461549846248659",
          "-4538652332624852374"
         ],
         "function": "Fn.add_block\n",
         "id": "-4823649207031685866"
        },
        {
         "args": [
          "-4823649207031685866"
         ],
         "function": "from_llvm_fn_2\n",
         "id": "8290857942544452260"
        },
        {
         "args": [
          "8290857942544452260"
         ],
         "function": "to_llvm_fn_2\n",
         "id": "-3559127852109039477"
        },
        {
         "args": [
          "-1259645767813234200",
          "-3559127852109039477"
         ],
         "function": "ModRef.mod\n",
         "id": "109726548373717123"
        },
        {
         "args": [
          "-3559127852109039477"
         ],
         "function": "Fn.ref\n",
         "id": "-9031249606127807262"
        },
        {
         "args": [
          "109726548373717123",
          "-9031249606127807262",
          "-4262466165513757285"
         ],
         "function": "compile_function\n",
         "id": "5886586016723971470"
        },
        {
         "id": "-3926018243682827708",
         "repr": "FunctionReplaceTyping(fn=<function two_unfix.<locals>.result.<locals>.inner at 0x126f9edc0>, typevars=HashableMapping({~V=<class 'metadsl_llvm.ir_context.ValueExpr'>, ~U=<class 'metadsl_llvm.ir_context.ValueExpr'>, ~T=<class 'metadsl_llvm.ir_context.ValueExpr'>}), typevars_in_scope=frozenset({~U, ~U, ~T, ~V, ~T}))",
         "type": "FunctionReplaceTyping"
        },
        {
         "args": [
          "-3926018243682827708"
         ],
         "function": "Abstraction.from_fn\n",
         "id": "-5560233106481024943"
        },
        {
         "args": [
          "-5560233106481024943",
          "-1653864567677501261"
         ],
         "function": "Abstraction.__call__\n",
         "id": "7387976992633380041",
         "type_params": {
          "T": {
           "params": {
            "T": {
             "type": "ValueExpr"
            },
            "U": {
             "type": "ValueExpr"
            },
            "V": {
             "type": "ValueExpr"
            }
           },
           "type": "FunctionTwo"
          },
          "U": {
           "params": {
            "T": {
             "type": "ValueExpr"
            },
            "U": {
             "type": "ValueExpr"
            },
            "V": {
             "type": "ValueExpr"
            }
           },
           "type": "FunctionTwo"
          }
         }
        },
        {
         "args": [
          "7387976992633380041",
          "5719487294829646472",
          "1210251829708405986"
         ],
         "function": "FunctionTwo.__call__\n",
         "id": "-3618226518628868211",
         "type_params": {
          "T": {
           "type": "ValueExpr"
          },
          "U": {
           "type": "ValueExpr"
          },
          "V": {
           "type": "ValueExpr"
          }
         }
        },
        {
         "args": [
          "-3618226518628868211",
          "1858901617407417543"
         ],
         "function": "ValueExpr.build\n",
         "id": "-766098449892587979"
        },
        {
         "args": [
          "-766098449892587979"
         ],
         "function": "Pair.right\n",
         "id": "-3046250276843449561",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "-766098449892587979"
         ],
         "function": "Pair.left\n",
         "id": "3210262532055090966",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "-3046250276843449561"
         ],
         "function": "Pair.right\n",
         "id": "-2563764883332324530",
         "type_params": {
          "T": {
           "type": "BlockRef"
          },
          "U": {
           "type": "Fn"
          }
         }
        },
        {
         "args": [
          "-3046250276843449561"
         ],
         "function": "Pair.left\n",
         "id": "7931185807477580593",
         "type_params": {
          "T": {
           "type": "BlockRef"
          },
          "U": {
           "type": "Fn"
          }
         }
        },
        {
         "args": [
          "7931185807477580593",
          "3210262532055090966"
         ],
         "function": "BlockRef.ret\n",
         "id": "8323009805353103129"
        },
        {
         "args": [
          "-2563764883332324530",
          "8323009805353103129"
         ],
         "function": "Fn.add_block\n",
         "id": "5538540579901667027"
        },
        {
         "args": [
          "5538540579901667027"
         ],
         "function": "from_llvm_fn_2\n",
         "id": "-4950456552374698241"
        },
        {
         "args": [
          "-4950456552374698241"
         ],
         "function": "to_llvm_fn_2\n",
         "id": "2169824716273828137"
        },
        {
         "args": [
          "-1259645767813234200",
          "2169824716273828137"
         ],
         "function": "ModRef.mod\n",
         "id": "5126444757818636687"
        },
        {
         "args": [
          "2169824716273828137"
         ],
         "function": "Fn.ref\n",
         "id": "5542716183368363860"
        },
        {
         "args": [
          "5126444757818636687",
          "5542716183368363860",
          "-4262466165513757285"
         ],
         "function": "compile_function\n",
         "id": "2426738668306125690"
        },
        {
         "id": "524343809873345348",
         "repr": "0x126eb3850",
         "type": "Variable"
        },
        {
         "args": [
          "524343809873345348"
         ],
         "function": "Abstraction.create_variable\n",
         "id": "-4193411726557209594",
         "type_params": {
          "T": {
           "params": {
            "T": {
             "type": "ValueExpr"
            },
            "U": {
             "type": "ValueExpr"
            },
            "V": {
             "type": "ValueExpr"
            }
           },
           "type": "FunctionTwo"
          },
          "U": {
           "params": {
            "T": {
             "type": "ValueExpr"
            },
            "U": {
             "type": "ValueExpr"
            },
            "V": {
             "type": "ValueExpr"
            }
           },
           "type": "FunctionTwo"
          }
         }
        },
        {
         "args": [
          "-4193411726557209594"
         ],
         "function": "FunctionTwo.abstraction\n",
         "id": "-5208816532917073243",
         "type_params": {
          "T": {
           "type": "ValueExpr"
          },
          "U": {
           "type": "ValueExpr"
          },
          "V": {
           "type": "ValueExpr"
          }
         }
        },
        {
         "args": [
          "-2759534131045922131"
         ],
         "function": "Abstraction.unfix\n",
         "id": "-6181428666859213178",
         "type_params": {
          "T": {
           "type": "ValueExpr"
          },
          "U": {
           "params": {
            "T": {
             "type": "ValueExpr"
            },
            "U": {
             "type": "ValueExpr"
            }
           },
           "type": "Abstraction"
          }
         }
        },
        {
         "args": [
          "-6181428666859213178",
          "-5208816532917073243"
         ],
         "function": "Abstraction.__call__\n",
         "id": "-7336164047438672884",
         "type_params": {
          "T": {
           "params": {
            "T": {
             "type": "ValueExpr"
            },
            "U": {
             "params": {
              "T": {
               "type": "ValueExpr"
              },
              "U": {
               "type": "ValueExpr"
              }
             },
             "type": "Abstraction"
            }
           },
           "type": "Abstraction"
          },
          "U": {
           "params": {
            "T": {
             "type": "ValueExpr"
            },
            "U": {
             "params": {
              "T": {
               "type": "ValueExpr"
              },
              "U": {
               "type": "ValueExpr"
              }
             },
             "type": "Abstraction"
            }
           },
           "type": "Abstraction"
          }
         }
        },
        {
         "args": [
          "620784253559051387",
          "-7336164047438672884"
         ],
         "function": "FunctionTwo.create\n",
         "id": "-2727587776759222210"
        },
        {
         "args": [
          "-4193411726557209594",
          "-2727587776759222210"
         ],
         "function": "Abstraction.create\n",
         "id": "-678187006583777347",
         "type_params": {
          "T": {
           "params": {
            "T": {
             "type": "ValueExpr"
            },
            "U": {
             "type": "ValueExpr"
            },
            "V": {
             "type": "ValueExpr"
            }
           },
           "type": "FunctionTwo"
          },
          "U": {
           "params": {
            "T": {
             "type": "ValueExpr"
            },
            "U": {
             "type": "ValueExpr"
            },
            "V": {
             "type": "ValueExpr"
            }
           },
           "type": "FunctionTwo"
          }
         }
        },
        {
         "args": [
          "-678187006583777347",
          "-1653864567677501261"
         ],
         "function": "Abstraction.__call__\n",
         "id": "-6933259972052455385",
         "type_params": {
          "T": {
           "params": {
            "T": {
             "type": "ValueExpr"
            },
            "U": {
             "type": "ValueExpr"
            },
            "V": {
             "type": "ValueExpr"
            }
           },
           "type": "FunctionTwo"
          },
          "U": {
           "params": {
            "T": {
             "type": "ValueExpr"
            },
            "U": {
             "type": "ValueExpr"
            },
            "V": {
             "type": "ValueExpr"
            }
           },
           "type": "FunctionTwo"
          }
         }
        },
        {
         "args": [
          "-6933259972052455385",
          "5719487294829646472",
          "1210251829708405986"
         ],
         "function": "FunctionTwo.__call__\n",
         "id": "-2756380957212302825",
         "type_params": {
          "T": {
           "type": "ValueExpr"
          },
          "U": {
           "type": "ValueExpr"
          },
          "V": {
           "type": "ValueExpr"
          }
         }
        },
        {
         "args": [
          "-2756380957212302825",
          "1858901617407417543"
         ],
         "function": "ValueExpr.build\n",
         "id": "-666703006336315881"
        },
        {
         "args": [
          "-666703006336315881"
         ],
         "function": "Pair.right\n",
         "id": "3215955037753549470",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "-666703006336315881"
         ],
         "function": "Pair.left\n",
         "id": "-8974276227057461619",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "3215955037753549470"
         ],
         "function": "Pair.right\n",
         "id": "6467902982217845844",
         "type_params": {
          "T": {
           "type": "BlockRef"
          },
          "U": {
           "type": "Fn"
          }
         }
        },
        {
         "args": [
          "3215955037753549470"
         ],
         "function": "Pair.left\n",
         "id": "2914466982302567479",
         "type_params": {
          "T": {
           "type": "BlockRef"
          },
          "U": {
           "type": "Fn"
          }
         }
        },
        {
         "args": [
          "2914466982302567479",
          "-8974276227057461619"
         ],
         "function": "BlockRef.ret\n",
         "id": "823191454363024749"
        },
        {
         "args": [
          "6467902982217845844",
          "823191454363024749"
         ],
         "function": "Fn.add_block\n",
         "id": "-1439507935449010960"
        },
        {
         "args": [
          "-1439507935449010960"
         ],
         "function": "from_llvm_fn_2\n",
         "id": "2793206887393348988"
        },
        {
         "args": [
          "2793206887393348988"
         ],
         "function": "to_llvm_fn_2\n",
         "id": "5652180739958331655"
        },
        {
         "args": [
          "-1259645767813234200",
          "5652180739958331655"
         ],
         "function": "ModRef.mod\n",
         "id": "3565135955218654309"
        },
        {
         "args": [
          "5652180739958331655"
         ],
         "function": "Fn.ref\n",
         "id": "-8378791051066699881"
        },
        {
         "args": [
          "3565135955218654309",
          "-8378791051066699881",
          "-4262466165513757285"
         ],
         "function": "compile_function\n",
         "id": "156100273141255803"
        },
        {
         "id": "1419182277978362495",
         "repr": "FunctionReplaceTyping(fn=<function two_abstraction.<locals>.<lambda>.<locals>.<lambda> at 0x126f9ed30>, typevars=HashableMapping({~V=<class 'metadsl_llvm.ir_context.ValueExpr'>, ~U=<class 'metadsl_llvm.ir_context.ValueExpr'>, ~T=<class 'metadsl_llvm.ir_context.ValueExpr'>}), typevars_in_scope=frozenset({~U, ~U, ~T, ~V, ~T}))",
         "type": "FunctionReplaceTyping"
        },
        {
         "args": [
          "1419182277978362495"
         ],
         "function": "Abstraction.from_fn\n",
         "id": "-5108730635979775449",
         "type_params": {
          "T": {
           "type": "ValueExpr"
          },
          "U": {
           "params": {
            "T": {
             "type": "ValueExpr"
            },
            "U": {
             "type": "ValueExpr"
            }
           },
           "type": "Abstraction"
          }
         }
        },
        {
         "args": [
          "-6181428666859213178",
          "-5108730635979775449"
         ],
         "function": "Abstraction.__call__\n",
         "id": "6066438578809428716",
         "type_params": {
          "T": {
           "params": {
            "T": {
             "type": "ValueExpr"
            },
            "U": {
             "params": {
              "T": {
               "type": "ValueExpr"
              },
              "U": {
               "type": "ValueExpr"
              }
             },
             "type": "Abstraction"
            }
           },
           "type": "Abstraction"
          },
          "U": {
           "params": {
            "T": {
             "type": "ValueExpr"
            },
            "U": {
             "params": {
              "T": {
               "type": "ValueExpr"
              },
              "U": {
               "type": "ValueExpr"
              }
             },
             "type": "Abstraction"
            }
           },
           "type": "Abstraction"
          }
         }
        },
        {
         "args": [
          "620784253559051387",
          "6066438578809428716"
         ],
         "function": "FunctionTwo.create\n",
         "id": "6157100402765227174"
        },
        {
         "args": [
          "-4193411726557209594",
          "6157100402765227174"
         ],
         "function": "Abstraction.create\n",
         "id": "8156594478905977671",
         "type_params": {
          "T": {
           "params": {
            "T": {
             "type": "ValueExpr"
            },
            "U": {
             "type": "ValueExpr"
            },
            "V": {
             "type": "ValueExpr"
            }
           },
           "type": "FunctionTwo"
          },
          "U": {
           "params": {
            "T": {
             "type": "ValueExpr"
            },
            "U": {
             "type": "ValueExpr"
            },
            "V": {
             "type": "ValueExpr"
            }
           },
           "type": "FunctionTwo"
          }
         }
        },
        {
         "args": [
          "8156594478905977671",
          "-1653864567677501261"
         ],
         "function": "Abstraction.__call__\n",
         "id": "1232597184941165988",
         "type_params": {
          "T": {
           "params": {
            "T": {
             "type": "ValueExpr"
            },
            "U": {
             "type": "ValueExpr"
            },
            "V": {
             "type": "ValueExpr"
            }
           },
           "type": "FunctionTwo"
          },
          "U": {
           "params": {
            "T": {
             "type": "ValueExpr"
            },
            "U": {
             "type": "ValueExpr"
            },
            "V": {
             "type": "ValueExpr"
            }
           },
           "type": "FunctionTwo"
          }
         }
        },
        {
         "args": [
          "1232597184941165988",
          "5719487294829646472",
          "1210251829708405986"
         ],
         "function": "FunctionTwo.__call__\n",
         "id": "2196775888721031188",
         "type_params": {
          "T": {
           "type": "ValueExpr"
          },
          "U": {
           "type": "ValueExpr"
          },
          "V": {
           "type": "ValueExpr"
          }
         }
        },
        {
         "args": [
          "2196775888721031188",
          "1858901617407417543"
         ],
         "function": "ValueExpr.build\n",
         "id": "4587550200416264912"
        },
        {
         "args": [
          "4587550200416264912"
         ],
         "function": "Pair.right\n",
         "id": "-3917339310100371610",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "4587550200416264912"
         ],
         "function": "Pair.left\n",
         "id": "2339173498798168917",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "-3917339310100371610"
         ],
         "function": "Pair.right\n",
         "id": "8880518711889833980",
         "type_params": {
          "T": {
           "type": "BlockRef"
          },
          "U": {
           "type": "Fn"
          }
         }
        },
        {
         "args": [
          "-3917339310100371610"
         ],
         "function": "Pair.left\n",
         "id": "928725328990187487",
         "type_params": {
          "T": {
           "type": "BlockRef"
          },
          "U": {
           "type": "Fn"
          }
         }
        },
        {
         "args": [
          "928725328990187487",
          "2339173498798168917"
         ],
         "function": "BlockRef.ret\n",
         "id": "7332002557512598090"
        },
        {
         "args": [
          "8880518711889833980",
          "7332002557512598090"
         ],
         "function": "Fn.add_block\n",
         "id": "2585361922962288783"
        },
        {
         "args": [
          "2585361922962288783"
         ],
         "function": "from_llvm_fn_2\n",
         "id": "6752154802560945423"
        },
        {
         "args": [
          "6752154802560945423"
         ],
         "function": "to_llvm_fn_2\n",
         "id": "-152232706340629240"
        },
        {
         "args": [
          "-1259645767813234200",
          "-152232706340629240"
         ],
         "function": "ModRef.mod\n",
         "id": "-2114882858566969822"
        },
        {
         "args": [
          "-152232706340629240"
         ],
         "function": "Fn.ref\n",
         "id": "8260532821629543273"
        },
        {
         "args": [
          "-2114882858566969822",
          "8260532821629543273",
          "-4262466165513757285"
         ],
         "function": "compile_function\n",
         "id": "8628657531160297674"
        },
        {
         "id": "6555696252476242091",
         "repr": "0x126f11910",
         "type": "Variable"
        },
        {
         "id": "-7509489372596040949",
         "repr": "FunctionReplaceTyping(fn=<function two_abstraction.<locals>.<lambda>.<locals>.<lambda>.<locals>.<lambda> at 0x126f9e670>, typevars=HashableMapping({~V=<class 'metadsl_llvm.ir_context.ValueExpr'>, ~U=<class 'metadsl_llvm.ir_context.ValueExpr'>, ~T=<class 'metadsl_llvm.ir_context.ValueExpr'>}), typevars_in_scope=frozenset({~U, ~U, ~T, ~V, ~T}))",
         "type": "FunctionReplaceTyping"
        },
        {
         "args": [
          "6555696252476242091"
         ],
         "function": "Abstraction.create_variable\n",
         "id": "6440782865421602282",
         "type_params": {
          "T": {
           "type": "ValueExpr"
          },
          "U": {
           "params": {
            "T": {
             "type": "ValueExpr"
            },
            "U": {
             "type": "ValueExpr"
            }
           },
           "type": "Abstraction"
          }
         }
        },
        {
         "args": [
          "-7509489372596040949"
         ],
         "function": "Abstraction.from_fn\n",
         "id": "-4600249318148425222",
         "type_params": {
          "T": {
           "type": "ValueExpr"
          },
          "U": {
           "type": "ValueExpr"
          }
         }
        },
        {
         "args": [
          "6440782865421602282",
          "-4600249318148425222"
         ],
         "function": "Abstraction.create\n",
         "id": "-4945556844999716063",
         "type_params": {
          "T": {
           "type": "ValueExpr"
          },
          "U": {
           "params": {
            "T": {
             "type": "ValueExpr"
            },
            "U": {
             "type": "ValueExpr"
            }
           },
           "type": "Abstraction"
          }
         }
        },
        {
         "args": [
          "-6181428666859213178",
          "-4945556844999716063"
         ],
         "function": "Abstraction.__call__\n",
         "id": "-6131907118572317053",
         "type_params": {
          "T": {
           "params": {
            "T": {
             "type": "ValueExpr"
            },
            "U": {
             "params": {
              "T": {
               "type": "ValueExpr"
              },
              "U": {
               "type": "ValueExpr"
              }
             },
             "type": "Abstraction"
            }
           },
           "type": "Abstraction"
          },
          "U": {
           "params": {
            "T": {
             "type": "ValueExpr"
            },
            "U": {
             "params": {
              "T": {
               "type": "ValueExpr"
              },
              "U": {
               "type": "ValueExpr"
              }
             },
             "type": "Abstraction"
            }
           },
           "type": "Abstraction"
          }
         }
        },
        {
         "args": [
          "620784253559051387",
          "-6131907118572317053"
         ],
         "function": "FunctionTwo.create\n",
         "id": "-5478880216361187031"
        },
        {
         "args": [
          "-4193411726557209594",
          "-5478880216361187031"
         ],
         "function": "Abstraction.create\n",
         "id": "-1849911097335059202",
         "type_params": {
          "T": {
           "params": {
            "T": {
             "type": "ValueExpr"
            },
            "U": {
             "type": "ValueExpr"
            },
            "V": {
             "type": "ValueExpr"
            }
           },
           "type": "FunctionTwo"
          },
          "U": {
           "params": {
            "T": {
             "type": "ValueExpr"
            },
            "U": {
             "type": "ValueExpr"
            },
            "V": {
             "type": "ValueExpr"
            }
           },
           "type": "FunctionTwo"
          }
         }
        },
        {
         "args": [
          "-1849911097335059202",
          "-1653864567677501261"
         ],
         "function": "Abstraction.__call__\n",
         "id": "-5293543938161046761",
         "type_params": {
          "T": {
           "params": {
            "T": {
             "type": "ValueExpr"
            },
            "U": {
             "type": "ValueExpr"
            },
            "V": {
             "type": "ValueExpr"
            }
           },
           "type": "FunctionTwo"
          },
          "U": {
           "params": {
            "T": {
             "type": "ValueExpr"
            },
            "U": {
             "type": "ValueExpr"
            },
            "V": {
             "type": "ValueExpr"
            }
           },
           "type": "FunctionTwo"
          }
         }
        },
        {
         "args": [
          "-5293543938161046761",
          "5719487294829646472",
          "1210251829708405986"
         ],
         "function": "FunctionTwo.__call__\n",
         "id": "7028144887349935792",
         "type_params": {
          "T": {
           "type": "ValueExpr"
          },
          "U": {
           "type": "ValueExpr"
          },
          "V": {
           "type": "ValueExpr"
          }
         }
        },
        {
         "args": [
          "7028144887349935792",
          "1858901617407417543"
         ],
         "function": "ValueExpr.build\n",
         "id": "3807854513126363094"
        },
        {
         "args": [
          "3807854513126363094"
         ],
         "function": "Pair.right\n",
         "id": "699288766394897096",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "3807854513126363094"
         ],
         "function": "Pair.left\n",
         "id": "6955801575293437623",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "699288766394897096"
         ],
         "function": "Pair.right\n",
         "id": "5997360570649413557",
         "type_params": {
          "T": {
           "type": "BlockRef"
          },
          "U": {
           "type": "Fn"
          }
         }
        },
        {
         "args": [
          "699288766394897096"
         ],
         "function": "Pair.left\n",
         "id": "-1954432812250232936",
         "type_params": {
          "T": {
           "type": "BlockRef"
          },
          "U": {
           "type": "Fn"
          }
         }
        },
        {
         "args": [
          "-1954432812250232936",
          "6955801575293437623"
         ],
         "function": "BlockRef.ret\n",
         "id": "4738425426913166811"
        },
        {
         "args": [
          "5997360570649413557",
          "4738425426913166811"
         ],
         "function": "Fn.add_block\n",
         "id": "6605451870637593342"
        },
        {
         "args": [
          "6605451870637593342"
         ],
         "function": "from_llvm_fn_2\n",
         "id": "6684343160193969899"
        },
        {
         "args": [
          "6684343160193969899"
         ],
         "function": "to_llvm_fn_2\n",
         "id": "-4650540031728650041"
        },
        {
         "args": [
          "-1259645767813234200",
          "-4650540031728650041"
         ],
         "function": "ModRef.mod\n",
         "id": "-7565972444283442624"
        },
        {
         "args": [
          "-4650540031728650041"
         ],
         "function": "Fn.ref\n",
         "id": "-5670140381283361601"
        },
        {
         "args": [
          "-7565972444283442624",
          "-5670140381283361601",
          "-4262466165513757285"
         ],
         "function": "compile_function\n",
         "id": "9132669083728491155"
        },
        {
         "id": "-1176845498807770389",
         "repr": "0x126f21d30",
         "type": "Variable"
        },
        {
         "args": [
          "-1176845498807770389"
         ],
         "function": "Abstraction.create_variable\n",
         "id": "-809149904686176510",
         "type_params": {
          "T": {
           "type": "ValueExpr"
          },
          "U": {
           "type": "ValueExpr"
          }
         }
        },
        {
         "args": [
          "-4193411726557209594",
          "6440782865421602282",
          "-809149904686176510"
         ],
         "function": "FunctionTwo.__call__\n",
         "id": "-875641893297735947",
         "type_params": {
          "T": {
           "type": "ValueExpr"
          },
          "U": {
           "type": "ValueExpr"
          },
          "V": {
           "type": "ValueExpr"
          }
         }
        },
        {
         "args": [
          "-809149904686176510",
          "-875641893297735947"
         ],
         "function": "Abstraction.create\n",
         "id": "-6305856320007859524",
         "type_params": {
          "T": {
           "type": "ValueExpr"
          },
          "U": {
           "type": "ValueExpr"
          }
         }
        },
        {
         "args": [
          "6440782865421602282",
          "-6305856320007859524"
         ],
         "function": "Abstraction.create\n",
         "id": "-7052613934787510705",
         "type_params": {
          "T": {
           "type": "ValueExpr"
          },
          "U": {
           "params": {
            "T": {
             "type": "ValueExpr"
            },
            "U": {
             "type": "ValueExpr"
            }
           },
           "type": "Abstraction"
          }
         }
        },
        {
         "args": [
          "-6181428666859213178",
          "-7052613934787510705"
         ],
         "function": "Abstraction.__call__\n",
         "id": "-8184704986846506794",
         "type_params": {
          "T": {
           "params": {
            "T": {
             "type": "ValueExpr"
            },
            "U": {
             "params": {
              "T": {
               "type": "ValueExpr"
              },
              "U": {
               "type": "ValueExpr"
              }
             },
             "type": "Abstraction"
            }
           },
           "type": "Abstraction"
          },
          "U": {
           "params": {
            "T": {
             "type": "ValueExpr"
            },
            "U": {
             "params": {
              "T": {
               "type": "ValueExpr"
              },
              "U": {
               "type": "ValueExpr"
              }
             },
             "type": "Abstraction"
            }
           },
           "type": "Abstraction"
          }
         }
        },
        {
         "args": [
          "620784253559051387",
          "-8184704986846506794"
         ],
         "function": "FunctionTwo.create\n",
         "id": "-1556693699410992665"
        },
        {
         "args": [
          "-4193411726557209594",
          "-1556693699410992665"
         ],
         "function": "Abstraction.create\n",
         "id": "3903615009012569176",
         "type_params": {
          "T": {
           "params": {
            "T": {
             "type": "ValueExpr"
            },
            "U": {
             "type": "ValueExpr"
            },
            "V": {
             "type": "ValueExpr"
            }
           },
           "type": "FunctionTwo"
          },
          "U": {
           "params": {
            "T": {
             "type": "ValueExpr"
            },
            "U": {
             "type": "ValueExpr"
            },
            "V": {
             "type": "ValueExpr"
            }
           },
           "type": "FunctionTwo"
          }
         }
        },
        {
         "args": [
          "3903615009012569176",
          "-1653864567677501261"
         ],
         "function": "Abstraction.__call__\n",
         "id": "475844665005593856",
         "type_params": {
          "T": {
           "params": {
            "T": {
             "type": "ValueExpr"
            },
            "U": {
             "type": "ValueExpr"
            },
            "V": {
             "type": "ValueExpr"
            }
           },
           "type": "FunctionTwo"
          },
          "U": {
           "params": {
            "T": {
             "type": "ValueExpr"
            },
            "U": {
             "type": "ValueExpr"
            },
            "V": {
             "type": "ValueExpr"
            }
           },
           "type": "FunctionTwo"
          }
         }
        },
        {
         "args": [
          "475844665005593856",
          "5719487294829646472",
          "1210251829708405986"
         ],
         "function": "FunctionTwo.__call__\n",
         "id": "-8366281759061388464",
         "type_params": {
          "T": {
           "type": "ValueExpr"
          },
          "U": {
           "type": "ValueExpr"
          },
          "V": {
           "type": "ValueExpr"
          }
         }
        },
        {
         "args": [
          "-8366281759061388464",
          "1858901617407417543"
         ],
         "function": "ValueExpr.build\n",
         "id": "5984902857381345690"
        },
        {
         "args": [
          "5984902857381345690"
         ],
         "function": "Pair.right\n",
         "id": "-7265162500350708128",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "5984902857381345690"
         ],
         "function": "Pair.left\n",
         "id": "-1008649691452167601",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "-7265162500350708128"
         ],
         "function": "Pair.right\n",
         "id": "-2599261485937286724",
         "type_params": {
          "T": {
           "type": "BlockRef"
          },
          "U": {
           "type": "Fn"
          }
         }
        },
        {
         "args": [
          "-7265162500350708128"
         ],
         "function": "Pair.left\n",
         "id": "-6152697485852565089",
         "type_params": {
          "T": {
           "type": "BlockRef"
          },
          "U": {
           "type": "Fn"
          }
         }
        },
        {
         "args": [
          "-6152697485852565089",
          "-1008649691452167601"
         ],
         "function": "BlockRef.ret\n",
         "id": "-1610628232154645943"
        },
        {
         "args": [
          "-2599261485937286724",
          "-1610628232154645943"
         ],
         "function": "Fn.add_block\n",
         "id": "110384170638177879"
        },
        {
         "args": [
          "110384170638177879"
         ],
         "function": "from_llvm_fn_2\n",
         "id": "7725311127405222322"
        },
        {
         "args": [
          "7725311127405222322"
         ],
         "function": "to_llvm_fn_2\n",
         "id": "-6633672743976517091"
        },
        {
         "args": [
          "-1259645767813234200",
          "-6633672743976517091"
         ],
         "function": "ModRef.mod\n",
         "id": "-3454934892752041753"
        },
        {
         "args": [
          "-6633672743976517091"
         ],
         "function": "Fn.ref\n",
         "id": "-7672180226780249106"
        },
        {
         "args": [
          "-3454934892752041753",
          "-7672180226780249106",
          "-4262466165513757285"
         ],
         "function": "compile_function\n",
         "id": "-1394391032843183698"
        },
        {
         "id": "-1763843239211180665",
         "repr": "FunctionReplaceTyping(fn=<function unfix_normal.<locals>.<lambda>.<locals>.<lambda> at 0x126f9eca0>, typevars=HashableMapping({~U=metadsl_core.abstraction.Abstraction[metadsl_llvm.ir_context.ValueExpr, metadsl_llvm.ir_context.ValueExpr], ~T=<class 'metadsl_llvm.ir_context.ValueExpr'>}), typevars_in_scope=frozenset({~U, ~T}))",
         "type": "FunctionReplaceTyping"
        },
        {
         "args": [
          "-1763843239211180665"
         ],
         "function": "Abstraction.from_fn\n",
         "id": "-2038929150131962984",
         "type_params": {
          "T": {
           "params": {
            "T": {
             "type": "ValueExpr"
            },
            "U": {
             "params": {
              "T": {
               "type": "ValueExpr"
              },
              "U": {
               "type": "ValueExpr"
              }
             },
             "type": "Abstraction"
            }
           },
           "type": "Abstraction"
          },
          "U": {
           "params": {
            "T": {
             "type": "ValueExpr"
            },
            "U": {
             "params": {
              "T": {
               "type": "ValueExpr"
              },
              "U": {
               "type": "ValueExpr"
              }
             },
             "type": "Abstraction"
            }
           },
           "type": "Abstraction"
          }
         }
        },
        {
         "args": [
          "-2038929150131962984",
          "-7052613934787510705"
         ],
         "function": "Abstraction.__call__\n",
         "id": "4083665358066025127",
         "type_params": {
          "T": {
           "params": {
            "T": {
             "type": "ValueExpr"
            },
            "U": {
             "params": {
              "T": {
               "type": "ValueExpr"
              },
              "U": {
               "type": "ValueExpr"
              }
             },
             "type": "Abstraction"
            }
           },
           "type": "Abstraction"
          },
          "U": {
           "params": {
            "T": {
             "type": "ValueExpr"
            },
            "U": {
             "params": {
              "T": {
               "type": "ValueExpr"
              },
              "U": {
               "type": "ValueExpr"
              }
             },
             "type": "Abstraction"
            }
           },
           "type": "Abstraction"
          }
         }
        },
        {
         "args": [
          "620784253559051387",
          "4083665358066025127"
         ],
         "function": "FunctionTwo.create\n",
         "id": "-5853184667402183776"
        },
        {
         "args": [
          "-4193411726557209594",
          "-5853184667402183776"
         ],
         "function": "Abstraction.create\n",
         "id": "501983292604562992",
         "type_params": {
          "T": {
           "params": {
            "T": {
             "type": "ValueExpr"
            },
            "U": {
             "type": "ValueExpr"
            },
            "V": {
             "type": "ValueExpr"
            }
           },
           "type": "FunctionTwo"
          },
          "U": {
           "params": {
            "T": {
             "type": "ValueExpr"
            },
            "U": {
             "type": "ValueExpr"
            },
            "V": {
             "type": "ValueExpr"
            }
           },
           "type": "FunctionTwo"
          }
         }
        },
        {
         "args": [
          "501983292604562992",
          "-1653864567677501261"
         ],
         "function": "Abstraction.__call__\n",
         "id": "-7584955971295066721",
         "type_params": {
          "T": {
           "params": {
            "T": {
             "type": "ValueExpr"
            },
            "U": {
             "type": "ValueExpr"
            },
            "V": {
             "type": "ValueExpr"
            }
           },
           "type": "FunctionTwo"
          },
          "U": {
           "params": {
            "T": {
             "type": "ValueExpr"
            },
            "U": {
             "type": "ValueExpr"
            },
            "V": {
             "type": "ValueExpr"
            }
           },
           "type": "FunctionTwo"
          }
         }
        },
        {
         "args": [
          "-7584955971295066721",
          "5719487294829646472",
          "1210251829708405986"
         ],
         "function": "FunctionTwo.__call__\n",
         "id": "-8990617367584597629",
         "type_params": {
          "T": {
           "type": "ValueExpr"
          },
          "U": {
           "type": "ValueExpr"
          },
          "V": {
           "type": "ValueExpr"
          }
         }
        },
        {
         "args": [
          "-8990617367584597629",
          "1858901617407417543"
         ],
         "function": "ValueExpr.build\n",
         "id": "8094356501171119268"
        },
        {
         "args": [
          "8094356501171119268"
         ],
         "function": "Pair.right\n",
         "id": "3253230702856066528",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "8094356501171119268"
         ],
         "function": "Pair.left\n",
         "id": "-8937000561954944561",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "3253230702856066528"
         ],
         "function": "Pair.right\n",
         "id": "-2828727962776899736",
         "type_params": {
          "T": {
           "type": "BlockRef"
          },
          "U": {
           "type": "Fn"
          }
         }
        },
        {
         "args": [
          "3253230702856066528"
         ],
         "function": "Pair.left\n",
         "id": "7666222728033005387",
         "type_params": {
          "T": {
           "type": "BlockRef"
          },
          "U": {
           "type": "Fn"
          }
         }
        },
        {
         "args": [
          "7666222728033005387",
          "-8937000561954944561"
         ],
         "function": "BlockRef.ret\n",
         "id": "-5657785314441114375"
        },
        {
         "args": [
          "-2828727962776899736",
          "-5657785314441114375"
         ],
         "function": "Fn.add_block\n",
         "id": "-8292543852404370132"
        },
        {
         "args": [
          "-8292543852404370132"
         ],
         "function": "from_llvm_fn_2\n",
         "id": "-2498395314426200810"
        },
        {
         "args": [
          "-2498395314426200810"
         ],
         "function": "to_llvm_fn_2\n",
         "id": "3044393765655285486"
        },
        {
         "args": [
          "-1259645767813234200",
          "3044393765655285486"
         ],
         "function": "ModRef.mod\n",
         "id": "912948523261736937"
        },
        {
         "args": [
          "3044393765655285486"
         ],
         "function": "Fn.ref\n",
         "id": "5682439746747062272"
        },
        {
         "args": [
          "912948523261736937",
          "5682439746747062272",
          "-4262466165513757285"
         ],
         "function": "compile_function\n",
         "id": "-913758672066533895"
        },
        {
         "id": "6183264728745502130",
         "repr": "0x126f63e80",
         "type": "Variable"
        },
        {
         "args": [
          "6183264728745502130"
         ],
         "function": "Abstraction.create_variable\n",
         "id": "6968872528836087189",
         "type_params": {
          "T": {
           "params": {
            "T": {
             "type": "ValueExpr"
            },
            "U": {
             "params": {
              "T": {
               "type": "ValueExpr"
              },
              "U": {
               "type": "ValueExpr"
              }
             },
             "type": "Abstraction"
            }
           },
           "type": "Abstraction"
          },
          "U": {
           "params": {
            "T": {
             "type": "ValueExpr"
            },
            "U": {
             "params": {
              "T": {
               "type": "ValueExpr"
              },
              "U": {
               "type": "ValueExpr"
              }
             },
             "type": "Abstraction"
            }
           },
           "type": "Abstraction"
          }
         }
        },
        {
         "args": [
          "8423160141067014784",
          "8245274598728381546"
         ],
         "function": "Abstraction.create\n",
         "id": "-4693440119658704690"
        },
        {
         "args": [
          "6968872528836087189",
          "-4693440119658704690"
         ],
         "function": "Abstraction.create\n",
         "id": "-885215349807999254",
         "type_params": {
          "T": {
           "params": {
            "T": {
             "type": "ValueExpr"
            },
            "U": {
             "params": {
              "T": {
               "type": "ValueExpr"
              },
              "U": {
               "type": "ValueExpr"
              }
             },
             "type": "Abstraction"
            }
           },
           "type": "Abstraction"
          },
          "U": {
           "params": {
            "T": {
             "type": "ValueExpr"
            },
            "U": {
             "params": {
              "T": {
               "type": "ValueExpr"
              },
              "U": {
               "type": "ValueExpr"
              }
             },
             "type": "Abstraction"
            }
           },
           "type": "Abstraction"
          }
         }
        },
        {
         "args": [
          "-885215349807999254",
          "-7052613934787510705"
         ],
         "function": "Abstraction.__call__\n",
         "id": "-8603617789406553870",
         "type_params": {
          "T": {
           "params": {
            "T": {
             "type": "ValueExpr"
            },
            "U": {
             "params": {
              "T": {
               "type": "ValueExpr"
              },
              "U": {
               "type": "ValueExpr"
              }
             },
             "type": "Abstraction"
            }
           },
           "type": "Abstraction"
          },
          "U": {
           "params": {
            "T": {
             "type": "ValueExpr"
            },
            "U": {
             "params": {
              "T": {
               "type": "ValueExpr"
              },
              "U": {
               "type": "ValueExpr"
              }
             },
             "type": "Abstraction"
            }
           },
           "type": "Abstraction"
          }
         }
        },
        {
         "args": [
          "620784253559051387",
          "-8603617789406553870"
         ],
         "function": "FunctionTwo.create\n",
         "id": "5333551636385022310"
        },
        {
         "args": [
          "-4193411726557209594",
          "5333551636385022310"
         ],
         "function": "Abstraction.create\n",
         "id": "-3627496095421218830",
         "type_params": {
          "T": {
           "params": {
            "T": {
             "type": "ValueExpr"
            },
            "U": {
             "type": "ValueExpr"
            },
            "V": {
             "type": "ValueExpr"
            }
           },
           "type": "FunctionTwo"
          },
          "U": {
           "params": {
            "T": {
             "type": "ValueExpr"
            },
            "U": {
             "type": "ValueExpr"
            },
            "V": {
             "type": "ValueExpr"
            }
           },
           "type": "FunctionTwo"
          }
         }
        },
        {
         "args": [
          "-3627496095421218830",
          "-1653864567677501261"
         ],
         "function": "Abstraction.__call__\n",
         "id": "-3761617788920321418",
         "type_params": {
          "T": {
           "params": {
            "T": {
             "type": "ValueExpr"
            },
            "U": {
             "type": "ValueExpr"
            },
            "V": {
             "type": "ValueExpr"
            }
           },
           "type": "FunctionTwo"
          },
          "U": {
           "params": {
            "T": {
             "type": "ValueExpr"
            },
            "U": {
             "type": "ValueExpr"
            },
            "V": {
             "type": "ValueExpr"
            }
           },
           "type": "FunctionTwo"
          }
         }
        },
        {
         "args": [
          "-3761617788920321418",
          "5719487294829646472",
          "1210251829708405986"
         ],
         "function": "FunctionTwo.__call__\n",
         "id": "-8530037402013333056",
         "type_params": {
          "T": {
           "type": "ValueExpr"
          },
          "U": {
           "type": "ValueExpr"
          },
          "V": {
           "type": "ValueExpr"
          }
         }
        },
        {
         "args": [
          "-8530037402013333056",
          "1858901617407417543"
         ],
         "function": "ValueExpr.build\n",
         "id": "7302065320773238015"
        },
        {
         "args": [
          "7302065320773238015"
         ],
         "function": "Pair.right\n",
         "id": "3817138220966418825",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "7302065320773238015"
         ],
         "function": "Pair.left\n",
         "id": "-8373093043844592264",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "3817138220966418825"
         ],
         "function": "Pair.right\n",
         "id": "4072039674430714081",
         "type_params": {
          "T": {
           "type": "BlockRef"
          },
          "U": {
           "type": "Fn"
          }
         }
        },
        {
         "args": [
          "3817138220966418825"
         ],
         "function": "Pair.left\n",
         "id": "518603674515435716",
         "type_params": {
          "T": {
           "type": "BlockRef"
          },
          "U": {
           "type": "Fn"
          }
         }
        },
        {
         "args": [
          "518603674515435716",
          "-8373093043844592264"
         ],
         "function": "BlockRef.ret\n",
         "id": "-7163211044402806733"
        },
        {
         "args": [
          "4072039674430714081",
          "-7163211044402806733"
         ],
         "function": "Fn.add_block\n",
         "id": "8901240150825923150"
        },
        {
         "args": [
          "8901240150825923150"
         ],
         "function": "from_llvm_fn_2\n",
         "id": "7336589250615909551"
        },
        {
         "args": [
          "7336589250615909551"
         ],
         "function": "to_llvm_fn_2\n",
         "id": "5744601049694455369"
        },
        {
         "args": [
          "-1259645767813234200",
          "5744601049694455369"
         ],
         "function": "ModRef.mod\n",
         "id": "-4138512958905083641"
        },
        {
         "args": [
          "5744601049694455369"
         ],
         "function": "Fn.ref\n",
         "id": "-7047791362455762473"
        },
        {
         "args": [
          "-4138512958905083641",
          "-7047791362455762473",
          "-4262466165513757285"
         ],
         "function": "compile_function\n",
         "id": "2151123622050638312"
        },
        {
         "args": [
          "620784253559051387",
          "-4693440119658704690"
         ],
         "function": "FunctionTwo.create\n",
         "id": "1482476953086945657"
        },
        {
         "args": [
          "-4193411726557209594",
          "1482476953086945657"
         ],
         "function": "Abstraction.create\n",
         "id": "-4683001163757251493",
         "type_params": {
          "T": {
           "params": {
            "T": {
             "type": "ValueExpr"
            },
            "U": {
             "type": "ValueExpr"
            },
            "V": {
             "type": "ValueExpr"
            }
           },
           "type": "FunctionTwo"
          },
          "U": {
           "params": {
            "T": {
             "type": "ValueExpr"
            },
            "U": {
             "type": "ValueExpr"
            },
            "V": {
             "type": "ValueExpr"
            }
           },
           "type": "FunctionTwo"
          }
         }
        },
        {
         "args": [
          "-4683001163757251493",
          "-1653864567677501261"
         ],
         "function": "Abstraction.__call__\n",
         "id": "-3869561667829194261",
         "type_params": {
          "T": {
           "params": {
            "T": {
             "type": "ValueExpr"
            },
            "U": {
             "type": "ValueExpr"
            },
            "V": {
             "type": "ValueExpr"
            }
           },
           "type": "FunctionTwo"
          },
          "U": {
           "params": {
            "T": {
             "type": "ValueExpr"
            },
            "U": {
             "type": "ValueExpr"
            },
            "V": {
             "type": "ValueExpr"
            }
           },
           "type": "FunctionTwo"
          }
         }
        },
        {
         "args": [
          "-3869561667829194261",
          "5719487294829646472",
          "1210251829708405986"
         ],
         "function": "FunctionTwo.__call__\n",
         "id": "-68882785387630683",
         "type_params": {
          "T": {
           "type": "ValueExpr"
          },
          "U": {
           "type": "ValueExpr"
          },
          "V": {
           "type": "ValueExpr"
          }
         }
        },
        {
         "args": [
          "-68882785387630683",
          "1858901617407417543"
         ],
         "function": "ValueExpr.build\n",
         "id": "3748653797170495067"
        },
        {
         "args": [
          "3748653797170495067"
         ],
         "function": "Pair.right\n",
         "id": "2585117660050598843",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "3748653797170495067"
         ],
         "function": "Pair.left\n",
         "id": "8841630468949139370",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "2585117660050598843"
         ],
         "function": "Pair.right\n",
         "id": "-7719725798128900509",
         "type_params": {
          "T": {
           "type": "BlockRef"
          },
          "U": {
           "type": "Fn"
          }
         }
        },
        {
         "args": [
          "2585117660050598843"
         ],
         "function": "Pair.left\n",
         "id": "2775224892681004614",
         "type_params": {
          "T": {
           "type": "BlockRef"
          },
          "U": {
           "type": "Fn"
          }
         }
        },
        {
         "args": [
          "2775224892681004614",
          "8841630468949139370"
         ],
         "function": "BlockRef.ret\n",
         "id": "-1989246816839175616"
        },
        {
         "args": [
          "-7719725798128900509",
          "-1989246816839175616"
         ],
         "function": "Fn.add_block\n",
         "id": "-2220993493486142212"
        },
        {
         "args": [
          "-2220993493486142212"
         ],
         "function": "from_llvm_fn_2\n",
         "id": "-6636381390810399915"
        },
        {
         "args": [
          "-6636381390810399915"
         ],
         "function": "to_llvm_fn_2\n",
         "id": "8214189055369183126"
        },
        {
         "args": [
          "-1259645767813234200",
          "8214189055369183126"
         ],
         "function": "ModRef.mod\n",
         "id": "-2049819802701113782"
        },
        {
         "args": [
          "8214189055369183126"
         ],
         "function": "Fn.ref\n",
         "id": "6159151938781735298"
        },
        {
         "args": [
          "-2049819802701113782",
          "6159151938781735298",
          "-4262466165513757285"
         ],
         "function": "compile_function\n",
         "id": "-2081876873245125389"
        },
        {
         "args": [
          "-1259645767813234200",
          "620784253559051387",
          "6920011226272107764",
          "8314187887841895722"
         ],
         "function": "ModRef.fn\n",
         "id": "6443065712994965992"
        },
        {
         "args": [
          "6443065712994965992"
         ],
         "function": "FnRef.fn\n",
         "id": "706416695086768172"
        },
        {
         "args": [
          "6443065712994965992"
         ],
         "function": "FnRef.arguments\n",
         "id": "5192934665418817512"
        },
        {
         "args": [
          "6443065712994965992",
          "2174576262982190149",
          "-8647664536320713804",
          "2608332961566761191"
         ],
         "function": "FnRef._block\n",
         "id": "-4287992330114061160"
        },
        {
         "args": [
          "706416695086768172"
         ],
         "function": "from_llvm_fn_2\n",
         "id": "-5345466224683706325"
        },
        {
         "args": [
          "5192934665418817512",
          "8201783764071103985"
         ],
         "function": "Vec.__getitem__\n",
         "id": "-5547643591386393497",
         "type_params": {
          "T": {
           "type": "Value"
          }
         }
        },
        {
         "args": [
          "5192934665418817512",
          "-7137755224053718221"
         ],
         "function": "Vec.__getitem__\n",
         "id": "-5091746245287591819",
         "type_params": {
          "T": {
           "type": "Value"
          }
         }
        },
        {
         "args": [
          "-4287992330114061160",
          "706416695086768172"
         ],
         "function": "Pair.create\n",
         "id": "7661390182722779908"
        },
        {
         "args": [
          "-5547643591386393497"
         ],
         "function": "ValueExpr.from_value\n",
         "id": "-6247451503020557520"
        },
        {
         "args": [
          "-5091746245287591819"
         ],
         "function": "ValueExpr.from_value\n",
         "id": "6449679795932311913"
        },
        {
         "args": [
          "-4683001163757251493",
          "-5345466224683706325"
         ],
         "function": "Abstraction.__call__\n",
         "id": "-962473519810520610",
         "type_params": {
          "T": {
           "params": {
            "T": {
             "type": "ValueExpr"
            },
            "U": {
             "type": "ValueExpr"
            },
            "V": {
             "type": "ValueExpr"
            }
           },
           "type": "FunctionTwo"
          },
          "U": {
           "params": {
            "T": {
             "type": "ValueExpr"
            },
            "U": {
             "type": "ValueExpr"
            },
            "V": {
             "type": "ValueExpr"
            }
           },
           "type": "FunctionTwo"
          }
         }
        },
        {
         "args": [
          "-962473519810520610",
          "-6247451503020557520",
          "6449679795932311913"
         ],
         "function": "FunctionTwo.__call__\n",
         "id": "8415142005695346351",
         "type_params": {
          "T": {
           "type": "ValueExpr"
          },
          "U": {
           "type": "ValueExpr"
          },
          "V": {
           "type": "ValueExpr"
          }
         }
        },
        {
         "args": [
          "8415142005695346351",
          "7661390182722779908"
         ],
         "function": "ValueExpr.build\n",
         "id": "9151109164382099388"
        },
        {
         "args": [
          "9151109164382099388"
         ],
         "function": "Pair.right\n",
         "id": "-8414785790724478590",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "9151109164382099388"
         ],
         "function": "Pair.left\n",
         "id": "-4805944887476426760",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "-8414785790724478590"
         ],
         "function": "Pair.right\n",
         "id": "7523864159967891293",
         "type_params": {
          "T": {
           "type": "BlockRef"
          },
          "U": {
           "type": "Fn"
          }
         }
        },
        {
         "args": [
          "-8414785790724478590"
         ],
         "function": "Pair.left\n",
         "id": "-427929222931755200",
         "type_params": {
          "T": {
           "type": "BlockRef"
          },
          "U": {
           "type": "Fn"
          }
         }
        },
        {
         "args": [
          "-427929222931755200",
          "-4805944887476426760"
         ],
         "function": "BlockRef.ret\n",
         "id": "-6190828437816403419"
        },
        {
         "args": [
          "7523864159967891293",
          "-6190828437816403419"
         ],
         "function": "Fn.add_block\n",
         "id": "-6176552126947298483"
        },
        {
         "args": [
          "-6176552126947298483"
         ],
         "function": "from_llvm_fn_2\n",
         "id": "-3495518653317271910"
        },
        {
         "args": [
          "-3495518653317271910"
         ],
         "function": "to_llvm_fn_2\n",
         "id": "-5889114966491781041"
        },
        {
         "args": [
          "-1259645767813234200",
          "-5889114966491781041"
         ],
         "function": "ModRef.mod\n",
         "id": "6805211310284885991"
        },
        {
         "args": [
          "-5889114966491781041"
         ],
         "function": "Fn.ref\n",
         "id": "161087582872558244"
        },
        {
         "args": [
          "6805211310284885991",
          "161087582872558244",
          "-4262466165513757285"
         ],
         "function": "compile_function\n",
         "id": "1286210617869571187"
        },
        {
         "args": [
          "1482476953086945657",
          "-6247451503020557520",
          "6449679795932311913"
         ],
         "function": "FunctionTwo.__call__\n",
         "id": "1231303870094808042",
         "type_params": {
          "T": {
           "type": "ValueExpr"
          },
          "U": {
           "type": "ValueExpr"
          },
          "V": {
           "type": "ValueExpr"
          }
         }
        },
        {
         "args": [
          "1231303870094808042",
          "7661390182722779908"
         ],
         "function": "ValueExpr.build\n",
         "id": "6260346829784117084"
        },
        {
         "args": [
          "6260346829784117084"
         ],
         "function": "Pair.right\n",
         "id": "-921200779543930016",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "6260346829784117084"
         ],
         "function": "Pair.left\n",
         "id": "5335312029354610511",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "-921200779543930016"
         ],
         "function": "Pair.right\n",
         "id": "2954562672018783590",
         "type_params": {
          "T": {
           "type": "BlockRef"
          },
          "U": {
           "type": "Fn"
          }
         }
        },
        {
         "args": [
          "-921200779543930016"
         ],
         "function": "Pair.left\n",
         "id": "-598873327896494775",
         "type_params": {
          "T": {
           "type": "BlockRef"
          },
          "U": {
           "type": "Fn"
          }
         }
        },
        {
         "args": [
          "-598873327896494775",
          "5335312029354610511"
         ],
         "function": "BlockRef.ret\n",
         "id": "6184394641837692468"
        },
        {
         "args": [
          "2954562672018783590",
          "6184394641837692468"
         ],
         "function": "Fn.add_block\n",
         "id": "8344385443105552226"
        },
        {
         "args": [
          "8344385443105552226"
         ],
         "function": "from_llvm_fn_2\n",
         "id": "6735005921999299986"
        },
        {
         "args": [
          "6735005921999299986"
         ],
         "function": "to_llvm_fn_2\n",
         "id": "1126175796612838192"
        },
        {
         "args": [
          "-1259645767813234200",
          "1126175796612838192"
         ],
         "function": "ModRef.mod\n",
         "id": "-4627095946794730452"
        },
        {
         "args": [
          "1126175796612838192"
         ],
         "function": "Fn.ref\n",
         "id": "5932342522864904377"
        },
        {
         "args": [
          "-4627095946794730452",
          "5932342522864904377",
          "-4262466165513757285"
         ],
         "function": "compile_function\n",
         "id": "-1354535539868343626"
        },
        {
         "args": [
          "-4693440119658704690",
          "-6247451503020557520"
         ],
         "function": "Abstraction.__call__\n",
         "id": "-7861172538110224876",
         "type_params": {
          "T": {
           "type": "ValueExpr"
          },
          "U": {
           "params": {
            "T": {
             "type": "ValueExpr"
            },
            "U": {
             "type": "ValueExpr"
            }
           },
           "type": "Abstraction"
          }
         }
        },
        {
         "args": [
          "-7861172538110224876",
          "6449679795932311913"
         ],
         "function": "Abstraction.__call__\n",
         "id": "6232109618386710593",
         "type_params": {
          "T": {
           "type": "ValueExpr"
          },
          "U": {
           "type": "ValueExpr"
          }
         }
        },
        {
         "args": [
          "6232109618386710593",
          "7661390182722779908"
         ],
         "function": "ValueExpr.build\n",
         "id": "-6213560402938479553"
        },
        {
         "args": [
          "-6213560402938479553"
         ],
         "function": "Pair.right\n",
         "id": "4510825671438231429",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "-6213560402938479553"
         ],
         "function": "Pair.left\n",
         "id": "-7679405593372779660",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "4510825671438231429"
         ],
         "function": "Pair.right\n",
         "id": "8392142833733378421",
         "type_params": {
          "T": {
           "type": "BlockRef"
          },
          "U": {
           "type": "Fn"
          }
         }
        },
        {
         "args": [
          "4510825671438231429"
         ],
         "function": "Pair.left\n",
         "id": "7486378739468588753",
         "type_params": {
          "T": {
           "type": "BlockRef"
          },
          "U": {
           "type": "Fn"
          }
         }
        },
        {
         "args": [
          "7486378739468588753",
          "-7679405593372779660"
         ],
         "function": "BlockRef.ret\n",
         "id": "5723554745491765837"
        },
        {
         "args": [
          "8392142833733378421",
          "5723554745491765837"
         ],
         "function": "Fn.add_block\n",
         "id": "7888583767485059956"
        },
        {
         "args": [
          "7888583767485059956"
         ],
         "function": "from_llvm_fn_2\n",
         "id": "-8876730791041317"
        },
        {
         "args": [
          "-8876730791041317"
         ],
         "function": "to_llvm_fn_2\n",
         "id": "-7051267627646886967"
        },
        {
         "args": [
          "-1259645767813234200",
          "-7051267627646886967"
         ],
         "function": "ModRef.mod\n",
         "id": "-60447665215527086"
        },
        {
         "args": [
          "-7051267627646886967"
         ],
         "function": "Fn.ref\n",
         "id": "7704782749881237169"
        },
        {
         "args": [
          "-60447665215527086",
          "7704782749881237169",
          "-4262466165513757285"
         ],
         "function": "compile_function\n",
         "id": "-7905984427308538627"
        },
        {
         "args": [
          "-6247451503020557520",
          "-6364977314004511193"
         ],
         "function": "ValueExpr.__add__\n",
         "id": "4926447195237232180"
        },
        {
         "args": [
          "4926447195237232180",
          "-3412638507357442443"
         ],
         "function": "ValueExpr.__add__\n",
         "id": "-5052063144465483251"
        },
        {
         "args": [
          "-6364977314004511193",
          "-5052063144465483251"
         ],
         "function": "Abstraction.create\n",
         "id": "472430178121866409",
         "type_params": {
          "T": {
           "type": "ValueExpr"
          },
          "U": {
           "type": "ValueExpr"
          }
         }
        },
        {
         "args": [
          "472430178121866409",
          "6449679795932311913"
         ],
         "function": "Abstraction.__call__\n",
         "id": "5512585393057277448",
         "type_params": {
          "T": {
           "type": "ValueExpr"
          },
          "U": {
           "type": "ValueExpr"
          }
         }
        },
        {
         "args": [
          "5512585393057277448",
          "7661390182722779908"
         ],
         "function": "ValueExpr.build\n",
         "id": "7014885333375356540"
        },
        {
         "args": [
          "7014885333375356540"
         ],
         "function": "Pair.right\n",
         "id": "4044472750994179792",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "7014885333375356540"
         ],
         "function": "Pair.left\n",
         "id": "-8145758513816831297",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "4044472750994179792"
         ],
         "function": "Pair.right\n",
         "id": "7115833113154997635",
         "type_params": {
          "T": {
           "type": "BlockRef"
          },
          "U": {
           "type": "Fn"
          }
         }
        },
        {
         "args": [
          "4044472750994179792"
         ],
         "function": "Pair.left\n",
         "id": "-835960269744648858",
         "type_params": {
          "T": {
           "type": "BlockRef"
          },
          "U": {
           "type": "Fn"
          }
         }
        },
        {
         "args": [
          "-835960269744648858",
          "-8145758513816831297"
         ],
         "function": "BlockRef.ret\n",
         "id": "-5020677119466865744"
        },
        {
         "args": [
          "7115833113154997635",
          "-5020677119466865744"
         ],
         "function": "Fn.add_block\n",
         "id": "-724203410373700241"
        },
        {
         "args": [
          "-724203410373700241"
         ],
         "function": "from_llvm_fn_2\n",
         "id": "-612394172748150832"
        },
        {
         "args": [
          "-612394172748150832"
         ],
         "function": "to_llvm_fn_2\n",
         "id": "-191978616312897370"
        },
        {
         "args": [
          "-1259645767813234200",
          "-191978616312897370"
         ],
         "function": "ModRef.mod\n",
         "id": "7204798067830781350"
        },
        {
         "args": [
          "-191978616312897370"
         ],
         "function": "Fn.ref\n",
         "id": "830179365115661021"
        },
        {
         "args": [
          "7204798067830781350",
          "830179365115661021",
          "-4262466165513757285"
         ],
         "function": "compile_function\n",
         "id": "-4119838992973478788"
        },
        {
         "args": [
          "-6247451503020557520",
          "6449679795932311913"
         ],
         "function": "ValueExpr.__add__\n",
         "id": "-2785804721158780704"
        },
        {
         "args": [
          "-2785804721158780704",
          "-3412638507357442443"
         ],
         "function": "ValueExpr.__add__\n",
         "id": "8302087133879342721"
        },
        {
         "args": [
          "8302087133879342721",
          "7661390182722779908"
         ],
         "function": "ValueExpr.build\n",
         "id": "3481471141871727304"
        },
        {
         "args": [
          "3481471141871727304"
         ],
         "function": "Pair.right\n",
         "id": "-1446191468298715010",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "3481471141871727304"
         ],
         "function": "Pair.left\n",
         "id": "9208678723584193645",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "-1446191468298715010"
         ],
         "function": "Pair.right\n",
         "id": "6670825870103918446",
         "type_params": {
          "T": {
           "type": "BlockRef"
          },
          "U": {
           "type": "Fn"
          }
         }
        },
        {
         "args": [
          "-1446191468298715010"
         ],
         "function": "Pair.left\n",
         "id": "3117389870188640081",
         "type_params": {
          "T": {
           "type": "BlockRef"
          },
          "U": {
           "type": "Fn"
          }
         }
        },
        {
         "args": [
          "3117389870188640081",
          "9208678723584193645"
         ],
         "function": "BlockRef.ret\n",
         "id": "-4681949158497374961"
        },
        {
         "args": [
          "6670825870103918446",
          "-4681949158497374961"
         ],
         "function": "Fn.add_block\n",
         "id": "7125600595345392395"
        },
        {
         "args": [
          "7125600595345392395"
         ],
         "function": "from_llvm_fn_2\n",
         "id": "849133399441346040"
        },
        {
         "args": [
          "849133399441346040"
         ],
         "function": "to_llvm_fn_2\n",
         "id": "697452116655005000"
        },
        {
         "args": [
          "-1259645767813234200",
          "697452116655005000"
         ],
         "function": "ModRef.mod\n",
         "id": "6505631902187262756"
        },
        {
         "args": [
          "697452116655005000"
         ],
         "function": "Fn.ref\n",
         "id": "648439191719278345"
        },
        {
         "args": [
          "6505631902187262756",
          "648439191719278345",
          "-4262466165513757285"
         ],
         "function": "compile_function\n",
         "id": "-8022234220835923176"
        },
        {
         "args": [
          "-2785804721158780704",
          "7661390182722779908"
         ],
         "function": "ValueExpr.build\n",
         "id": "7063147983490233247"
        },
        {
         "args": [
          "7063147983490233247"
         ],
         "function": "Pair.right\n",
         "id": "6523086495468176575",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "7063147983490233247"
         ],
         "function": "Pair.left\n",
         "id": "-5667144769342834514",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "-3412638507357442443",
          "6523086495468176575"
         ],
         "function": "ValueExpr.build\n",
         "id": "3332470793651141239"
        },
        {
         "args": [
          "3332470793651141239"
         ],
         "function": "Pair.right\n",
         "id": "4715771335880019255",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "3332470793651141239"
         ],
         "function": "Pair.left\n",
         "id": "-7474459928930991834",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "4715771335880019255"
         ],
         "function": "Pair.left\n",
         "id": "-24059917849955983",
         "type_params": {
          "T": {
           "type": "BlockRef"
          },
          "U": {
           "type": "Fn"
          }
         }
        },
        {
         "args": [
          "-24059917849955983",
          "-5667144769342834514",
          "-7474459928930991834"
         ],
         "function": "BlockRef.add\n",
         "id": "8223961824554592380"
        },
        {
         "args": [
          "8223961824554592380",
          "4715771335880019255"
         ],
         "function": "Pair.create\n",
         "id": "-2497541435442703134"
        },
        {
         "args": [
          "-2497541435442703134"
         ],
         "function": "Pair.right\n",
         "id": "3592829188320456037",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "-2497541435442703134"
         ],
         "function": "Pair.left\n",
         "id": "-8597402076490555052",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "3592829188320456037"
         ],
         "function": "Pair.right\n",
         "id": "3918838911178027141",
         "type_params": {
          "T": {
           "type": "BlockRef"
          },
          "U": {
           "type": "Fn"
          }
         }
        },
        {
         "args": [
          "3592829188320456037"
         ],
         "function": "Pair.left\n",
         "id": "365402911262748776",
         "type_params": {
          "T": {
           "type": "BlockRef"
          },
          "U": {
           "type": "Fn"
          }
         }
        },
        {
         "args": [
          "365402911262748776",
          "-8597402076490555052"
         ],
         "function": "BlockRef.ret\n",
         "id": "1672877745510620893"
        },
        {
         "args": [
          "3918838911178027141",
          "1672877745510620893"
         ],
         "function": "Fn.add_block\n",
         "id": "-4717071649870334882"
        },
        {
         "args": [
          "-4717071649870334882"
         ],
         "function": "from_llvm_fn_2\n",
         "id": "3816720164683993179"
        },
        {
         "args": [
          "3816720164683993179"
         ],
         "function": "to_llvm_fn_2\n",
         "id": "-5452050482399354161"
        },
        {
         "args": [
          "-1259645767813234200",
          "-5452050482399354161"
         ],
         "function": "ModRef.mod\n",
         "id": "-1329013808023360180"
        },
        {
         "args": [
          "-5452050482399354161"
         ],
         "function": "Fn.ref\n",
         "id": "958890738892343480"
        },
        {
         "args": [
          "-1329013808023360180",
          "958890738892343480",
          "-4262466165513757285"
         ],
         "function": "compile_function\n",
         "id": "7491188868433182843"
        },
        {
         "args": [
          "-6247451503020557520",
          "7661390182722779908"
         ],
         "function": "ValueExpr.build\n",
         "id": "-1754516311063537468"
        },
        {
         "args": [
          "-1754516311063537468"
         ],
         "function": "Pair.right\n",
         "id": "6317581238471540963",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "-1754516311063537468"
         ],
         "function": "Pair.left\n",
         "id": "-5872650026339470126",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "6449679795932311913",
          "6317581238471540963"
         ],
         "function": "ValueExpr.build\n",
         "id": "-3074803942069074394"
        },
        {
         "args": [
          "-3074803942069074394"
         ],
         "function": "Pair.right\n",
         "id": "1976625500476114556",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "-3074803942069074394"
         ],
         "function": "Pair.left\n",
         "id": "8233138309374655083",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "1976625500476114556"
         ],
         "function": "Pair.left\n",
         "id": "-4330156950124401285",
         "type_params": {
          "T": {
           "type": "BlockRef"
          },
          "U": {
           "type": "Fn"
          }
         }
        },
        {
         "args": [
          "-4330156950124401285",
          "-5872650026339470126",
          "8233138309374655083"
         ],
         "function": "BlockRef.add\n",
         "id": "644772198505936049"
        },
        {
         "args": [
          "644772198505936049",
          "1976625500476114556"
         ],
         "function": "Pair.create\n",
         "id": "1437187990359637238"
        },
        {
         "args": [
          "1437187990359637238"
         ],
         "function": "Pair.right\n",
         "id": "-3837875431115471239",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "1437187990359637238"
         ],
         "function": "Pair.left\n",
         "id": "-4627391910851787537",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "-3412638507357442443",
          "-3837875431115471239"
         ],
         "function": "ValueExpr.build\n",
         "id": "-7653232569388099106"
        },
        {
         "args": [
          "-7653232569388099106"
         ],
         "function": "Pair.right\n",
         "id": "-9039618814911188620",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "-7653232569388099106"
         ],
         "function": "Pair.left\n",
         "id": "-2783106006012648093",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "-9039618814911188620"
         ],
         "function": "Pair.left\n",
         "id": "2565074763385026617",
         "type_params": {
          "T": {
           "type": "BlockRef"
          },
          "U": {
           "type": "Fn"
          }
         }
        },
        {
         "args": [
          "2565074763385026617",
          "-4627391910851787537",
          "-2783106006012648093"
         ],
         "function": "BlockRef.add\n",
         "id": "-7790540359546102430"
        },
        {
         "args": [
          "-7790540359546102430",
          "-9039618814911188620"
         ],
         "function": "Pair.create\n",
         "id": "-425646771258342619"
        },
        {
         "args": [
          "-425646771258342619"
         ],
         "function": "Pair.right\n",
         "id": "2359408474488667841",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "-425646771258342619"
         ],
         "function": "Pair.left\n",
         "id": "5968249377736719671",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "2359408474488667841"
         ],
         "function": "Pair.right\n",
         "id": "8867093634859286354",
         "type_params": {
          "T": {
           "type": "BlockRef"
          },
          "U": {
           "type": "Fn"
          }
         }
        },
        {
         "args": [
          "2359408474488667841"
         ],
         "function": "Pair.left\n",
         "id": "7961329540594496686",
         "type_params": {
          "T": {
           "type": "BlockRef"
          },
          "U": {
           "type": "Fn"
          }
         }
        },
        {
         "args": [
          "7961329540594496686",
          "5968249377736719671"
         ],
         "function": "BlockRef.ret\n",
         "id": "59038738415053233"
        },
        {
         "args": [
          "8867093634859286354",
          "59038738415053233"
         ],
         "function": "Fn.add_block\n",
         "id": "8823795601532587443"
        },
        {
         "args": [
          "8823795601532587443"
         ],
         "function": "from_llvm_fn_2\n",
         "id": "-7137823681407196887"
        },
        {
         "args": [
          "-7137823681407196887"
         ],
         "function": "to_llvm_fn_2\n",
         "id": "6418100538270848973"
        },
        {
         "args": [
          "-1259645767813234200",
          "6418100538270848973"
         ],
         "function": "ModRef.mod\n",
         "id": "-4292465768922372239"
        },
        {
         "args": [
          "6418100538270848973"
         ],
         "function": "Fn.ref\n",
         "id": "3979087939966601307"
        },
        {
         "args": [
          "-4292465768922372239",
          "3979087939966601307",
          "-4262466165513757285"
         ],
         "function": "compile_function\n",
         "id": "-5245901371472761258"
        },
        {
         "args": [
          "-5547643591386393497",
          "7661390182722779908"
         ],
         "function": "Pair.create\n",
         "id": "-135210808408927640"
        },
        {
         "args": [
          "-135210808408927640"
         ],
         "function": "Pair.right\n",
         "id": "-1346980522514241575",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "-135210808408927640"
         ],
         "function": "Pair.left\n",
         "id": "4909532286384298952",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "6449679795932311913",
          "-1346980522514241575"
         ],
         "function": "ValueExpr.build\n",
         "id": "8830653204291844229"
        },
        {
         "args": [
          "8830653204291844229"
         ],
         "function": "Pair.right\n",
         "id": "-6326318237362244308",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "8830653204291844229"
         ],
         "function": "Pair.left\n",
         "id": "-69805428463703781",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "-6326318237362244308"
         ],
         "function": "Pair.left\n",
         "id": "3140082721402338218",
         "type_params": {
          "T": {
           "type": "BlockRef"
          },
          "U": {
           "type": "Fn"
          }
         }
        },
        {
         "args": [
          "3140082721402338218",
          "4909532286384298952",
          "-69805428463703781"
         ],
         "function": "BlockRef.add\n",
         "id": "1367069472458406075"
        },
        {
         "args": [
          "1367069472458406075",
          "-6326318237362244308"
         ],
         "function": "Pair.create\n",
         "id": "71957329232879559"
        },
        {
         "args": [
          "71957329232879559"
         ],
         "function": "Pair.right\n",
         "id": "-6241339956010707746",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "71957329232879559"
         ],
         "function": "Pair.left\n",
         "id": "15172852887832781",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "-3412638507357442443",
          "-6241339956010707746"
         ],
         "function": "ValueExpr.build\n",
         "id": "7367088684524396308"
        },
        {
         "args": [
          "7367088684524396308"
         ],
         "function": "Pair.right\n",
         "id": "2473761160811083723",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "7367088684524396308"
         ],
         "function": "Pair.left\n",
         "id": "8730273969709624250",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "2473761160811083723"
         ],
         "function": "Pair.left\n",
         "id": "-8388005137937605099",
         "type_params": {
          "T": {
           "type": "BlockRef"
          },
          "U": {
           "type": "Fn"
          }
         }
        },
        {
         "args": [
          "-8388005137937605099",
          "15172852887832781",
          "8730273969709624250"
         ],
         "function": "BlockRef.add\n",
         "id": "966903160254035888"
        },
        {
         "args": [
          "966903160254035888",
          "2473761160811083723"
         ],
         "function": "Pair.create\n",
         "id": "-9222330336358077870"
        },
        {
         "args": [
          "-9222330336358077870"
         ],
         "function": "Pair.right\n",
         "id": "7064361591904116642",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "-9222330336358077870"
         ],
         "function": "Pair.left\n",
         "id": "-5125869672906894447",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "7064361591904116642"
         ],
         "function": "Pair.right\n",
         "id": "-8110339849308189124",
         "type_params": {
          "T": {
           "type": "BlockRef"
          },
          "U": {
           "type": "Fn"
          }
         }
        },
        {
         "args": [
          "7064361591904116642"
         ],
         "function": "Pair.left\n",
         "id": "-4617746560588610664",
         "type_params": {
          "T": {
           "type": "BlockRef"
          },
          "U": {
           "type": "Fn"
          }
         }
        },
        {
         "args": [
          "-4617746560588610664",
          "-5125869672906894447"
         ],
         "function": "BlockRef.ret\n",
         "id": "3012196590623887451"
        },
        {
         "args": [
          "-8110339849308189124",
          "3012196590623887451"
         ],
         "function": "Fn.add_block\n",
         "id": "3315829251771997902"
        },
        {
         "args": [
          "3315829251771997902"
         ],
         "function": "from_llvm_fn_2\n",
         "id": "7984804469939243579"
        },
        {
         "args": [
          "7984804469939243579"
         ],
         "function": "to_llvm_fn_2\n",
         "id": "3315816125300395862"
        },
        {
         "args": [
          "-1259645767813234200",
          "3315816125300395862"
         ],
         "function": "ModRef.mod\n",
         "id": "-378356886493961760"
        },
        {
         "args": [
          "3315816125300395862"
         ],
         "function": "Fn.ref\n",
         "id": "6084454620504301750"
        },
        {
         "args": [
          "-378356886493961760",
          "6084454620504301750",
          "-4262466165513757285"
         ],
         "function": "compile_function\n",
         "id": "-2071111991601442015"
        },
        {
         "args": [
          "6449679795932311913",
          "7661390182722779908"
         ],
         "function": "ValueExpr.build\n",
         "id": "-2971092027597255333"
        },
        {
         "args": [
          "-2971092027597255333"
         ],
         "function": "Pair.right\n",
         "id": "1239370228123421345",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "-2971092027597255333"
         ],
         "function": "Pair.left\n",
         "id": "7495883037021961872",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "1239370228123421345"
         ],
         "function": "Pair.left\n",
         "id": "-9132598254115764713",
         "type_params": {
          "T": {
           "type": "BlockRef"
          },
          "U": {
           "type": "Fn"
          }
         }
        },
        {
         "args": [
          "-9132598254115764713",
          "4909532286384298952",
          "7495883037021961872"
         ],
         "function": "BlockRef.add\n",
         "id": "3259261877643806764"
        },
        {
         "args": [
          "3259261877643806764",
          "1239370228123421345"
         ],
         "function": "Pair.create\n",
         "id": "8099059169897194627"
        },
        {
         "args": [
          "8099059169897194627"
         ],
         "function": "Pair.right\n",
         "id": "6388336521852218832",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "8099059169897194627"
         ],
         "function": "Pair.left\n",
         "id": "-5801894742958792257",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "-3412638507357442443",
          "6388336521852218832"
         ],
         "function": "ValueExpr.build\n",
         "id": "-3582038483462340553"
        },
        {
         "args": [
          "-3582038483462340553"
         ],
         "function": "Pair.right\n",
         "id": "-1449735195005817147",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "-3582038483462340553"
         ],
         "function": "Pair.left\n",
         "id": "4806777613892723380",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "-1449735195005817147"
         ],
         "function": "Pair.left\n",
         "id": "-1191548330798186800",
         "type_params": {
          "T": {
           "type": "BlockRef"
          },
          "U": {
           "type": "Fn"
          }
         }
        },
        {
         "args": [
          "-1191548330798186800",
          "-5801894742958792257",
          "4806777613892723380"
         ],
         "function": "BlockRef.add\n",
         "id": "2695581328432904557"
        },
        {
         "args": [
          "2695581328432904557",
          "-1449735195005817147"
         ],
         "function": "Pair.create\n",
         "id": "-5548893733839594966"
        },
        {
         "args": [
          "-5548893733839594966"
         ],
         "function": "Pair.right\n",
         "id": "4733178364436638778",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "-5548893733839594966"
         ],
         "function": "Pair.left\n",
         "id": "8342019267684690608",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "4733178364436638778"
         ],
         "function": "Pair.right\n",
         "id": "1763631864574634608",
         "type_params": {
          "T": {
           "type": "BlockRef"
          },
          "U": {
           "type": "Fn"
          }
         }
        },
        {
         "args": [
          "4733178364436638778"
         ],
         "function": "Pair.left\n",
         "id": "-6188161518325011885",
         "type_params": {
          "T": {
           "type": "BlockRef"
          },
          "U": {
           "type": "Fn"
          }
         }
        },
        {
         "args": [
          "-6188161518325011885",
          "8342019267684690608"
         ],
         "function": "BlockRef.ret\n",
         "id": "8240328585714791132"
        },
        {
         "args": [
          "1763631864574634608",
          "8240328585714791132"
         ],
         "function": "Fn.add_block\n",
         "id": "-2149512271208794407"
        },
        {
         "args": [
          "-2149512271208794407"
         ],
         "function": "from_llvm_fn_2\n",
         "id": "-8337980690388786236"
        },
        {
         "args": [
          "-8337980690388786236"
         ],
         "function": "to_llvm_fn_2\n",
         "id": "-3085671579850182031"
        },
        {
         "args": [
          "-1259645767813234200",
          "-3085671579850182031"
         ],
         "function": "ModRef.mod\n",
         "id": "-5476799838848186911"
        },
        {
         "args": [
          "-3085671579850182031"
         ],
         "function": "Fn.ref\n",
         "id": "2468750439067890202"
        },
        {
         "args": [
          "-5476799838848186911",
          "2468750439067890202",
          "-4262466165513757285"
         ],
         "function": "compile_function\n",
         "id": "-6869867667965491478"
        },
        {
         "args": [
          "-5091746245287591819",
          "7661390182722779908"
         ],
         "function": "Pair.create\n",
         "id": "4650343957972239638"
        },
        {
         "args": [
          "4650343957972239638"
         ],
         "function": "Pair.right\n",
         "id": "-8469374591275102774",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "4650343957972239638"
         ],
         "function": "Pair.left\n",
         "id": "-2212861782376562247",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "-8469374591275102774"
         ],
         "function": "Pair.left\n",
         "id": "-8031483586276878799",
         "type_params": {
          "T": {
           "type": "BlockRef"
          },
          "U": {
           "type": "Fn"
          }
         }
        },
        {
         "args": [
          "-8031483586276878799",
          "4909532286384298952",
          "-2212861782376562247"
         ],
         "function": "BlockRef.add\n",
         "id": "-6847620307632701301"
        },
        {
         "args": [
          "-6847620307632701301",
          "-8469374591275102774"
         ],
         "function": "Pair.create\n",
         "id": "-8678764225976394916"
        },
        {
         "args": [
          "-8678764225976394916"
         ],
         "function": "Pair.right\n",
         "id": "2472036829607467028",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "-8678764225976394916"
         ],
         "function": "Pair.left\n",
         "id": "8728549638506007555",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "-3412638507357442443",
          "2472036829607467028"
         ],
         "function": "ValueExpr.build\n",
         "id": "1825347648527096799"
        },
        {
         "args": [
          "1825347648527096799"
         ],
         "function": "Pair.right\n",
         "id": "8080072577524471462",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "1825347648527096799"
         ],
         "function": "Pair.left\n",
         "id": "288198695697828501",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "8080072577524471462"
         ],
         "function": "Pair.left\n",
         "id": "-6694824488022672963",
         "type_params": {
          "T": {
           "type": "BlockRef"
          },
          "U": {
           "type": "Fn"
          }
         }
        },
        {
         "args": [
          "-6694824488022672963",
          "8728549638506007555",
          "288198695697828501"
         ],
         "function": "BlockRef.add\n",
         "id": "8017045232424933960"
        },
        {
         "args": [
          "8017045232424933960",
          "8080072577524471462"
         ],
         "function": "Pair.create\n",
         "id": "-6044121020209358435"
        },
        {
         "args": [
          "-6044121020209358435"
         ],
         "function": "Pair.right\n",
         "id": "3808235870319330168",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "-6044121020209358435"
         ],
         "function": "Pair.left\n",
         "id": "-8381995394491680921",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "3808235870319330168"
         ],
         "function": "Pair.right\n",
         "id": "-6111084037157299880",
         "type_params": {
          "T": {
           "type": "BlockRef"
          },
          "U": {
           "type": "Fn"
          }
         }
        },
        {
         "args": [
          "3808235870319330168"
         ],
         "function": "Pair.left\n",
         "id": "4383866653652605243",
         "type_params": {
          "T": {
           "type": "BlockRef"
          },
          "U": {
           "type": "Fn"
          }
         }
        },
        {
         "args": [
          "4383866653652605243",
          "-8381995394491680921"
         ],
         "function": "BlockRef.ret\n",
         "id": "-1461097022454450493"
        },
        {
         "args": [
          "-6111084037157299880",
          "-1461097022454450493"
         ],
         "function": "Fn.add_block\n",
         "id": "-3985074369865278061"
        },
        {
         "args": [
          "-3985074369865278061"
         ],
         "function": "from_llvm_fn_2\n",
         "id": "838244248723790099"
        },
        {
         "args": [
          "838244248723790099"
         ],
         "function": "to_llvm_fn_2\n",
         "id": "1863503216922040548"
        },
        {
         "args": [
          "-1259645767813234200",
          "1863503216922040548"
         ],
         "function": "ModRef.mod\n",
         "id": "3950956323281027277"
        },
        {
         "args": [
          "1863503216922040548"
         ],
         "function": "Fn.ref\n",
         "id": "3605920709945121026"
        },
        {
         "args": [
          "3950956323281027277",
          "3605920709945121026",
          "-4262466165513757285"
         ],
         "function": "compile_function\n",
         "id": "6201347518072070885"
        },
        {
         "args": [
          "7661390182722779908"
         ],
         "function": "Pair.left\n",
         "id": "1364037969563277327",
         "type_params": {
          "T": {
           "type": "BlockRef"
          },
          "U": {
           "type": "Fn"
          }
         }
        },
        {
         "args": [
          "1364037969563277327",
          "4909532286384298952",
          "-2212861782376562247"
         ],
         "function": "BlockRef.add\n",
         "id": "8662791317300766489"
        },
        {
         "args": [
          "8662791317300766489",
          "7661390182722779908"
         ],
         "function": "Pair.create\n",
         "id": "8455412533861792661"
        },
        {
         "args": [
          "8455412533861792661"
         ],
         "function": "Pair.right\n",
         "id": "-2069725913710478192",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "8455412533861792661"
         ],
         "function": "Pair.left\n",
         "id": "4186786895188062335",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "-3412638507357442443",
          "-2069725913710478192"
         ],
         "function": "ValueExpr.build\n",
         "id": "-6133311656023209083"
        },
        {
         "args": [
          "-6133311656023209083"
         ],
         "function": "Pair.right\n",
         "id": "-8768326066060742139",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "-6133311656023209083"
         ],
         "function": "Pair.left\n",
         "id": "-2511813257162201612",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "-8768326066060742139"
         ],
         "function": "Pair.left\n",
         "id": "4621008533751121606",
         "type_params": {
          "T": {
           "type": "BlockRef"
          },
          "U": {
           "type": "Fn"
          }
         }
        },
        {
         "args": [
          "4621008533751121606",
          "4186786895188062335",
          "-2511813257162201612"
         ],
         "function": "BlockRef.add\n",
         "id": "1979722610775532237"
        },
        {
         "args": [
          "1979722610775532237",
          "-8768326066060742139"
         ],
         "function": "Pair.create\n",
         "id": "-1525341231409569817"
        },
        {
         "args": [
          "-1525341231409569817"
         ],
         "function": "Pair.right\n",
         "id": "-2434649648176282599",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "-1525341231409569817"
         ],
         "function": "Pair.left\n",
         "id": "3821863160722257928",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "-2434649648176282599"
         ],
         "function": "Pair.right\n",
         "id": "1060282358870627981",
         "type_params": {
          "T": {
           "type": "BlockRef"
          },
          "U": {
           "type": "Fn"
          }
         }
        },
        {
         "args": [
          "-2434649648176282599"
         ],
         "function": "Pair.left\n",
         "id": "-6891511024029018512",
         "type_params": {
          "T": {
           "type": "BlockRef"
          },
          "U": {
           "type": "Fn"
          }
         }
        },
        {
         "args": [
          "-6891511024029018512",
          "3821863160722257928"
         ],
         "function": "BlockRef.ret\n",
         "id": "7389964955900662162"
        },
        {
         "args": [
          "1060282358870627981",
          "7389964955900662162"
         ],
         "function": "Fn.add_block\n",
         "id": "2997470547999115292"
        },
        {
         "args": [
          "2997470547999115292"
         ],
         "function": "from_llvm_fn_2\n",
         "id": "3775892997468869675"
        },
        {
         "args": [
          "3775892997468869675"
         ],
         "function": "to_llvm_fn_2\n",
         "id": "-7703332481313616941"
        },
        {
         "args": [
          "-1259645767813234200",
          "-7703332481313616941"
         ],
         "function": "ModRef.mod\n",
         "id": "-7435458075172347097"
        },
        {
         "args": [
          "-7703332481313616941"
         ],
         "function": "Fn.ref\n",
         "id": "-6168680084382346805"
        },
        {
         "args": [
          "-7435458075172347097",
          "-6168680084382346805",
          "-4262466165513757285"
         ],
         "function": "compile_function\n",
         "id": "113287366078893314"
        },
        {
         "args": [
          "-4287992330114061160",
          "4909532286384298952",
          "-2212861782376562247"
         ],
         "function": "BlockRef.add\n",
         "id": "-6718350911070629131"
        },
        {
         "args": [
          "-6718350911070629131",
          "7661390182722779908"
         ],
         "function": "Pair.create\n",
         "id": "8921605477936896703"
        },
        {
         "args": [
          "8921605477936896703"
         ],
         "function": "Pair.right\n",
         "id": "4215356177475960020",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "8921605477936896703"
         ],
         "function": "Pair.left\n",
         "id": "-7974875087335051069",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "-3412638507357442443",
          "4215356177475960020"
         ],
         "function": "ValueExpr.build\n",
         "id": "-1008386197772740436"
        },
        {
         "args": [
          "-1008386197772740436"
         ],
         "function": "Pair.right\n",
         "id": "-1352783581700925000",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "-1008386197772740436"
         ],
         "function": "Pair.left\n",
         "id": "4903729227197615527",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "-1352783581700925000"
         ],
         "function": "Pair.left\n",
         "id": "-999983913197306261",
         "type_params": {
          "T": {
           "type": "BlockRef"
          },
          "U": {
           "type": "Fn"
          }
         }
        },
        {
         "args": [
          "-999983913197306261",
          "-7974875087335051069",
          "4903729227197615527"
         ],
         "function": "BlockRef.add\n",
         "id": "-4694501677435975674"
        },
        {
         "args": [
          "-4694501677435975674",
          "-1352783581700925000"
         ],
         "function": "Pair.create\n",
         "id": "2360444142263827536"
        },
        {
         "args": [
          "2360444142263827536"
         ],
         "function": "Pair.right\n",
         "id": "-2991877840775996505",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "2360444142263827536"
         ],
         "function": "Pair.left\n",
         "id": "3264634968122544022",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "-2991877840775996505"
         ],
         "function": "Pair.right\n",
         "id": "4559567211069702870",
         "type_params": {
          "T": {
           "type": "BlockRef"
          },
          "U": {
           "type": "Fn"
          }
         }
        },
        {
         "args": [
          "-2991877840775996505"
         ],
         "function": "Pair.left\n",
         "id": "-3392226171829943623",
         "type_params": {
          "T": {
           "type": "BlockRef"
          },
          "U": {
           "type": "Fn"
          }
         }
        },
        {
         "args": [
          "-3392226171829943623",
          "3264634968122544022"
         ],
         "function": "BlockRef.ret\n",
         "id": "4411951188037393235"
        },
        {
         "args": [
          "4559567211069702870",
          "4411951188037393235"
         ],
         "function": "Fn.add_block\n",
         "id": "5396753515432957252"
        },
        {
         "args": [
          "5396753515432957252"
         ],
         "function": "from_llvm_fn_2\n",
         "id": "8146667621199289350"
        },
        {
         "args": [
          "8146667621199289350"
         ],
         "function": "to_llvm_fn_2\n",
         "id": "-6564581446762707655"
        },
        {
         "args": [
          "-1259645767813234200",
          "-6564581446762707655"
         ],
         "function": "ModRef.mod\n",
         "id": "4744868980756109559"
        },
        {
         "args": [
          "-6564581446762707655"
         ],
         "function": "Fn.ref\n",
         "id": "-4422688068416136703"
        },
        {
         "args": [
          "4744868980756109559",
          "-4422688068416136703",
          "-4262466165513757285"
         ],
         "function": "compile_function\n",
         "id": "2553384699913666718"
        },
        {
         "args": [
          "-4287992330114061160",
          "-5547643591386393497",
          "-2212861782376562247"
         ],
         "function": "BlockRef.add\n",
         "id": "8062284762921847658"
        },
        {
         "args": [
          "8062284762921847658",
          "7661390182722779908"
         ],
         "function": "Pair.create\n",
         "id": "-3474466157547242504"
        },
        {
         "args": [
          "-3474466157547242504"
         ],
         "function": "Pair.right\n",
         "id": "-4955762538321142086",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "-3474466157547242504"
         ],
         "function": "Pair.left\n",
         "id": "1300750270577398441",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "-3412638507357442443",
          "-4955762538321142086"
         ],
         "function": "ValueExpr.build\n",
         "id": "-421596457732106365"
        },
        {
         "args": [
          "-421596457732106365"
         ],
         "function": "Pair.right\n",
         "id": "5666789827733992926",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "-421596457732106365"
         ],
         "function": "Pair.left\n",
         "id": "-6523441437077018163",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "5666789827733992926"
         ],
         "function": "Pair.left\n",
         "id": "4644389594367505683",
         "type_params": {
          "T": {
           "type": "BlockRef"
          },
          "U": {
           "type": "Fn"
          }
         }
        },
        {
         "args": [
          "4644389594367505683",
          "1300750270577398441",
          "-6523441437077018163"
         ],
         "function": "BlockRef.add\n",
         "id": "7436373963196616220"
        },
        {
         "args": [
          "7436373963196616220",
          "5666789827733992926"
         ],
         "function": "Pair.create\n",
         "id": "-1024005217061755260"
        },
        {
         "args": [
          "-1024005217061755260"
         ],
         "function": "Pair.right\n",
         "id": "169060859890737546",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "-1024005217061755260"
         ],
         "function": "Pair.left\n",
         "id": "6425573668789278073",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "169060859890737546"
         ],
         "function": "Pair.right\n",
         "id": "9078662464880542717",
         "type_params": {
          "T": {
           "type": "BlockRef"
          },
          "U": {
           "type": "Fn"
          }
         }
        },
        {
         "args": [
          "169060859890737546"
         ],
         "function": "Pair.left\n",
         "id": "8172898370615753049",
         "type_params": {
          "T": {
           "type": "BlockRef"
          },
          "U": {
           "type": "Fn"
          }
         }
        },
        {
         "args": [
          "8172898370615753049",
          "6425573668789278073"
         ],
         "function": "BlockRef.ret\n",
         "id": "2026016195460676743"
        },
        {
         "args": [
          "9078662464880542717",
          "2026016195460676743"
         ],
         "function": "Fn.add_block\n",
         "id": "-2870020598903677495"
        },
        {
         "args": [
          "-2870020598903677495"
         ],
         "function": "from_llvm_fn_2\n",
         "id": "7672807092986701984"
        },
        {
         "args": [
          "7672807092986701984"
         ],
         "function": "to_llvm_fn_2\n",
         "id": "-1253557279726291356"
        },
        {
         "args": [
          "-1259645767813234200",
          "-1253557279726291356"
         ],
         "function": "ModRef.mod\n",
         "id": "-5446772180394508085"
        },
        {
         "args": [
          "-1253557279726291356"
         ],
         "function": "Fn.ref\n",
         "id": "3147156484628671356"
        },
        {
         "args": [
          "-5446772180394508085",
          "3147156484628671356",
          "-4262466165513757285"
         ],
         "function": "compile_function\n",
         "id": "1021502995084855687"
        },
        {
         "args": [
          "-4287992330114061160",
          "-5547643591386393497",
          "-5091746245287591819"
         ],
         "function": "BlockRef.add\n",
         "id": "-5453020316637631373"
        },
        {
         "args": [
          "-5453020316637631373",
          "7661390182722779908"
         ],
         "function": "Pair.create\n",
         "id": "-1668245717289782140"
        },
        {
         "args": [
          "-1668245717289782140"
         ],
         "function": "Pair.right\n",
         "id": "1939112852857103165",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "-1668245717289782140"
         ],
         "function": "Pair.left\n",
         "id": "8195625661755643692",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "-3412638507357442443",
          "1939112852857103165"
         ],
         "function": "ValueExpr.build\n",
         "id": "4994616346646314137"
        },
        {
         "args": [
          "4994616346646314137"
         ],
         "function": "Pair.right\n",
         "id": "7273502168704771339",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "4994616346646314137"
         ],
         "function": "Pair.left\n",
         "id": "-4916729096106239750",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "7273502168704771339"
         ],
         "function": "Pair.left\n",
         "id": "-7128627286968262011",
         "type_params": {
          "T": {
           "type": "BlockRef"
          },
          "U": {
           "type": "Fn"
          }
         }
        },
        {
         "args": [
          "-7128627286968262011",
          "8195625661755643692",
          "-4916729096106239750"
         ],
         "function": "BlockRef.add\n",
         "id": "1295109118900979267"
        },
        {
         "args": [
          "1295109118900979267",
          "7273502168704771339"
         ],
         "function": "Pair.create\n",
         "id": "-7232244902719690089"
        },
        {
         "args": [
          "-7232244902719690089"
         ],
         "function": "Pair.right\n",
         "id": "2764764197674841191",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "-7232244902719690089"
         ],
         "function": "Pair.left\n",
         "id": "9021277006573381718",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "2764764197674841191"
         ],
         "function": "Pair.right\n",
         "id": "-8316717942720163972",
         "type_params": {
          "T": {
           "type": "BlockRef"
          },
          "U": {
           "type": "Fn"
          }
         }
        },
        {
         "args": [
          "2764764197674841191"
         ],
         "function": "Pair.left\n",
         "id": "2178232748089741151",
         "type_params": {
          "T": {
           "type": "BlockRef"
          },
          "U": {
           "type": "Fn"
          }
         }
        },
        {
         "args": [
          "2178232748089741151",
          "9021277006573381718"
         ],
         "function": "BlockRef.ret\n",
         "id": "2576734504914809644"
        },
        {
         "args": [
          "-8316717942720163972",
          "2576734504914809644"
         ],
         "function": "Fn.add_block\n",
         "id": "1514292885017078605"
        },
        {
         "args": [
          "1514292885017078605"
         ],
         "function": "from_llvm_fn_2\n",
         "id": "-2007156111580478577"
        },
        {
         "args": [
          "-2007156111580478577"
         ],
         "function": "to_llvm_fn_2\n",
         "id": "-3103935819129636602"
        },
        {
         "args": [
          "-1259645767813234200",
          "-3103935819129636602"
         ],
         "function": "ModRef.mod\n",
         "id": "531869241709839615"
        },
        {
         "args": [
          "-3103935819129636602"
         ],
         "function": "Fn.ref\n",
         "id": "-1834051711620574130"
        },
        {
         "args": [
          "531869241709839615",
          "-1834051711620574130",
          "-4262466165513757285"
         ],
         "function": "compile_function\n",
         "id": "1168265844924777888"
        },
        {
         "args": [
          "-3412638507357442443",
          "7661390182722779908"
         ],
         "function": "ValueExpr.build\n",
         "id": "-5506033400854050872"
        },
        {
         "args": [
          "-5506033400854050872"
         ],
         "function": "Pair.right\n",
         "id": "-1563317860503546455",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "-5506033400854050872"
         ],
         "function": "Pair.left\n",
         "id": "4693194948394994072",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "-1563317860503546455"
         ],
         "function": "Pair.left\n",
         "id": "7838267839794239916",
         "type_params": {
          "T": {
           "type": "BlockRef"
          },
          "U": {
           "type": "Fn"
          }
         }
        },
        {
         "args": [
          "7838267839794239916",
          "8195625661755643692",
          "4693194948394994072"
         ],
         "function": "BlockRef.add\n",
         "id": "2765934357170471519"
        },
        {
         "args": [
          "2765934357170471519",
          "-1563317860503546455"
         ],
         "function": "Pair.create\n",
         "id": "-1367370955260686128"
        },
        {
         "args": [
          "-1367370955260686128"
         ],
         "function": "Pair.right\n",
         "id": "-7971597971349094266",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "-1367370955260686128"
         ],
         "function": "Pair.left\n",
         "id": "-1715085162450553739",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "-7971597971349094266"
         ],
         "function": "Pair.right\n",
         "id": "7660324079592487678",
         "type_params": {
          "T": {
           "type": "BlockRef"
          },
          "U": {
           "type": "Fn"
          }
         }
        },
        {
         "args": [
          "-7971597971349094266"
         ],
         "function": "Pair.left\n",
         "id": "6754559985327698010",
         "type_params": {
          "T": {
           "type": "BlockRef"
          },
          "U": {
           "type": "Fn"
          }
         }
        },
        {
         "args": [
          "6754559985327698010",
          "-1715085162450553739"
         ],
         "function": "BlockRef.ret\n",
         "id": "-5001882695671158621"
        },
        {
         "args": [
          "7660324079592487678",
          "-5001882695671158621"
         ],
         "function": "Fn.add_block\n",
         "id": "1666450357648997066"
        },
        {
         "args": [
          "1666450357648997066"
         ],
         "function": "from_llvm_fn_2\n",
         "id": "-5045667662144083368"
        },
        {
         "args": [
          "-5045667662144083368"
         ],
         "function": "to_llvm_fn_2\n",
         "id": "-7191027668677553262"
        },
        {
         "args": [
          "-1259645767813234200",
          "-7191027668677553262"
         ],
         "function": "ModRef.mod\n",
         "id": "6392132753897588775"
        },
        {
         "args": [
          "-7191027668677553262"
         ],
         "function": "Fn.ref\n",
         "id": "-4511787867660875177"
        },
        {
         "args": [
          "6392132753897588775",
          "-4511787867660875177",
          "-4262466165513757285"
         ],
         "function": "compile_function\n",
         "id": "-4631504847853063397"
        },
        {
         "args": [
          "3517026737124413055",
          "7661390182722779908"
         ],
         "function": "Pair.create\n",
         "id": "-8490007609582247084"
        },
        {
         "args": [
          "-8490007609582247084"
         ],
         "function": "Pair.right\n",
         "id": "-2249573822334746438",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "-8490007609582247084"
         ],
         "function": "Pair.left\n",
         "id": "4006938986563794089",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "-2249573822334746438"
         ],
         "function": "Pair.left\n",
         "id": "-5340694019074890819",
         "type_params": {
          "T": {
           "type": "BlockRef"
          },
          "U": {
           "type": "Fn"
          }
         }
        },
        {
         "args": [
          "-5340694019074890819",
          "8195625661755643692",
          "4006938986563794089"
         ],
         "function": "BlockRef.add\n",
         "id": "1595073049826780647"
        },
        {
         "args": [
          "1595073049826780647",
          "-2249573822334746438"
         ],
         "function": "Pair.create\n",
         "id": "-15782947589255116"
        },
        {
         "args": [
          "-15782947589255116"
         ],
         "function": "Pair.right\n",
         "id": "-734573936793101779",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "-15782947589255116"
         ],
         "function": "Pair.left\n",
         "id": "5521938872105438748",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "-734573936793101779"
         ],
         "function": "Pair.right\n",
         "id": "3123599257810124365",
         "type_params": {
          "T": {
           "type": "BlockRef"
          },
          "U": {
           "type": "Fn"
          }
         }
        },
        {
         "args": [
          "-734573936793101779"
         ],
         "function": "Pair.left\n",
         "id": "-4828194125089522128",
         "type_params": {
          "T": {
           "type": "BlockRef"
          },
          "U": {
           "type": "Fn"
          }
         }
        },
        {
         "args": [
          "-4828194125089522128",
          "5521938872105438748"
         ],
         "function": "BlockRef.ret\n",
         "id": "5905804831029972443"
        },
        {
         "args": [
          "3123599257810124365",
          "5905804831029972443"
         ],
         "function": "Fn.add_block\n",
         "id": "7547035070008221950"
        },
        {
         "args": [
          "7547035070008221950"
         ],
         "function": "from_llvm_fn_2\n",
         "id": "1027467070418401846"
        },
        {
         "args": [
          "1027467070418401846"
         ],
         "function": "to_llvm_fn_2\n",
         "id": "1902260765131736666"
        },
        {
         "args": [
          "-1259645767813234200",
          "1902260765131736666"
         ],
         "function": "ModRef.mod\n",
         "id": "-2654316104518825616"
        },
        {
         "args": [
          "1902260765131736666"
         ],
         "function": "Fn.ref\n",
         "id": "8543956482471200453"
        },
        {
         "args": [
          "-2654316104518825616",
          "8543956482471200453",
          "-4262466165513757285"
         ],
         "function": "compile_function\n",
         "id": "4743857191018809113"
        },
        {
         "args": [
          "1364037969563277327",
          "8195625661755643692",
          "4006938986563794089"
         ],
         "function": "BlockRef.add\n",
         "id": "-1616623496623035278"
        },
        {
         "args": [
          "-1616623496623035278",
          "7661390182722779908"
         ],
         "function": "Pair.create\n",
         "id": "7734775822809902722"
        },
        {
         "args": [
          "7734775822809902722"
         ],
         "function": "Pair.right\n",
         "id": "-3567214531148750305",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "7734775822809902722"
         ],
         "function": "Pair.left\n",
         "id": "2689298277749790222",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "-3567214531148750305"
         ],
         "function": "Pair.right\n",
         "id": "-565089913236265995",
         "type_params": {
          "T": {
           "type": "BlockRef"
          },
          "U": {
           "type": "Fn"
          }
         }
        },
        {
         "args": [
          "-3567214531148750305"
         ],
         "function": "Pair.left\n",
         "id": "-4118525913151544360",
         "type_params": {
          "T": {
           "type": "BlockRef"
          },
          "U": {
           "type": "Fn"
          }
         }
        },
        {
         "args": [
          "-4118525913151544360",
          "2689298277749790222"
         ],
         "function": "BlockRef.ret\n",
         "id": "2073004581052124625"
        },
        {
         "args": [
          "-565089913236265995",
          "2073004581052124625"
         ],
         "function": "Fn.add_block\n",
         "id": "-9156600256969457928"
        },
        {
         "args": [
          "-9156600256969457928"
         ],
         "function": "from_llvm_fn_2\n",
         "id": "2853699525449542770"
        },
        {
         "args": [
          "2853699525449542770"
         ],
         "function": "to_llvm_fn_2\n",
         "id": "7124038355278854167"
        },
        {
         "args": [
          "-1259645767813234200",
          "7124038355278854167"
         ],
         "function": "ModRef.mod\n",
         "id": "-2756126077631773973"
        },
        {
         "args": [
          "7124038355278854167"
         ],
         "function": "Fn.ref\n",
         "id": "8586998677339869920"
        },
        {
         "args": [
          "-2756126077631773973",
          "8586998677339869920",
          "-4262466165513757285"
         ],
         "function": "compile_function\n",
         "id": "-4715996199302852246"
        },
        {
         "args": [
          "-4287992330114061160",
          "8195625661755643692",
          "4006938986563794089"
         ],
         "function": "BlockRef.add\n",
         "id": "-7033526021740777990"
        },
        {
         "args": [
          "-7033526021740777990",
          "7661390182722779908"
         ],
         "function": "Pair.create\n",
         "id": "-3869267919275264225"
        },
        {
         "args": [
          "-3869267919275264225"
         ],
         "function": "Pair.right\n",
         "id": "-8657448894329390895",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "-3869267919275264225"
         ],
         "function": "Pair.left\n",
         "id": "-2400936085430850368",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "-8657448894329390895"
         ],
         "function": "Pair.right\n",
         "id": "1532108983686134876",
         "type_params": {
          "T": {
           "type": "BlockRef"
          },
          "U": {
           "type": "Fn"
          }
         }
        },
        {
         "args": [
          "-8657448894329390895"
         ],
         "function": "Pair.left\n",
         "id": "5024702272405713336",
         "type_params": {
          "T": {
           "type": "BlockRef"
          },
          "U": {
           "type": "Fn"
          }
         }
        },
        {
         "args": [
          "5024702272405713336",
          "-2400936085430850368"
         ],
         "function": "BlockRef.ret\n",
         "id": "-7375386436906560088"
        },
        {
         "args": [
          "1532108983686134876",
          "-7375386436906560088"
         ],
         "function": "Fn.add_block\n",
         "id": "-7701176904203597269"
        },
        {
         "args": [
          "-7701176904203597269"
         ],
         "function": "from_llvm_fn_2\n",
         "id": "-3790173113905073406"
        },
        {
         "args": [
          "-3790173113905073406"
         ],
         "function": "to_llvm_fn_2\n",
         "id": "-7184520052972317111"
        },
        {
         "args": [
          "-1259645767813234200",
          "-7184520052972317111"
         ],
         "function": "ModRef.mod\n",
         "id": "3035960096468471811"
        },
        {
         "args": [
          "-7184520052972317111"
         ],
         "function": "Fn.ref\n",
         "id": "-8188480458893955250"
        },
        {
         "args": [
          "3035960096468471811",
          "-8188480458893955250",
          "-4262466165513757285"
         ],
         "function": "compile_function\n",
         "id": "8658624060902819995"
        },
        {
         "args": [
          "-4287992330114061160",
          "8195625661755643692",
          "3517026737124413055"
         ],
         "function": "BlockRef.add\n",
         "id": "3964691039335496311"
        },
        {
         "args": [
          "3964691039335496311",
          "7661390182722779908"
         ],
         "function": "Pair.create\n",
         "id": "5647783255874005932"
        },
        {
         "args": [
          "5647783255874005932"
         ],
         "function": "Pair.right\n",
         "id": "7805269077015023774",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "5647783255874005932"
         ],
         "function": "Pair.left\n",
         "id": "-4384962187795987315",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "7805269077015023774"
         ],
         "function": "Pair.right\n",
         "id": "4443644176816453456",
         "type_params": {
          "T": {
           "type": "BlockRef"
          },
          "U": {
           "type": "Fn"
          }
         }
        },
        {
         "args": [
          "7805269077015023774"
         ],
         "function": "Pair.left\n",
         "id": "3537880082551663788",
         "type_params": {
          "T": {
           "type": "BlockRef"
          },
          "U": {
           "type": "Fn"
          }
         }
        },
        {
         "args": [
          "3537880082551663788",
          "-4384962187795987315"
         ],
         "function": "BlockRef.ret\n",
         "id": "8077297894701942772"
        },
        {
         "args": [
          "4443644176816453456",
          "8077297894701942772"
         ],
         "function": "Fn.add_block\n",
         "id": "5809100203194637003"
        },
        {
         "args": [
          "5809100203194637003"
         ],
         "function": "from_llvm_fn_2\n",
         "id": "4676457599471127110"
        },
        {
         "args": [
          "4676457599471127110"
         ],
         "function": "to_llvm_fn_2\n",
         "id": "-3371515329617096788"
        },
        {
         "args": [
          "-1259645767813234200",
          "-3371515329617096788"
         ],
         "function": "ModRef.mod\n",
         "id": "-8832307966339775500"
        },
        {
         "args": [
          "-3371515329617096788"
         ],
         "function": "Fn.ref\n",
         "id": "1427095691329780833"
        },
        {
         "args": [
          "-8832307966339775500",
          "1427095691329780833",
          "-4262466165513757285"
         ],
         "function": "compile_function\n",
         "id": "-5202876725642697235"
        },
        {
         "args": [
          "-4287992330114061160",
          "-5453020316637631373",
          "3517026737124413055"
         ],
         "function": "BlockRef.add\n",
         "id": "388809901271900913"
        },
        {
         "args": [
          "388809901271900913",
          "7661390182722779908"
         ],
         "function": "Pair.create\n",
         "id": "-786695272160280492"
        },
        {
         "args": [
          "-786695272160280492"
         ],
         "function": "Pair.right\n",
         "id": "1733870857580821907",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "-786695272160280492"
         ],
         "function": "Pair.left\n",
         "id": "-6058003024245821054",
         "type_params": {
          "T": {
           "type": "Value"
          },
          "U": {
           "params": {
            "T": {
             "type": "BlockRef"
            },
            "U": {
             "type": "Fn"
            }
           },
           "type": "Pair"
          }
         }
        },
        {
         "args": [
          "1733870857580821907"
         ],
         "function": "Pair.right\n",
         "id": "4889709545848698252",
         "type_params": {
          "T": {
           "type": "BlockRef"
          },
          "U": {
           "type": "Fn"
          }
         }
        },
        {
         "args": [
          "1733870857580821907"
         ],
         "function": "Pair.left\n",
         "id": "1336273545933419887",
         "type_params": {
          "T": {
           "type": "BlockRef"
          },
          "U": {
           "type": "Fn"
          }
         }
        },
        {
         "args": [
          "1336273545933419887",
          "-6058003024245821054"
         ],
         "function": "BlockRef.ret\n",
         "id": "-3073540849448518355"
        },
        {
         "args": [
          "4889709545848698252",
          "-3073540849448518355"
         ],
         "function": "Fn.add_block\n",
         "id": "346064553865755076"
        },
        {
         "args": [
          "346064553865755076"
         ],
         "function": "from_llvm_fn_2\n",
         "id": "3660045690789128246"
        },
        {
         "args": [
          "3660045690789128246"
         ],
         "function": "to_llvm_fn_2\n",
         "id": "2769161536652219842"
        },
        {
         "args": [
          "-1259645767813234200",
          "2769161536652219842"
         ],
         "function": "ModRef.mod\n",
         "id": "-3618574829320416556"
        },
        {
         "args": [
          "2769161536652219842"
         ],
         "function": "Fn.ref\n",
         "id": "8417637329336040914"
        },
        {
         "args": [
          "-3618574829320416556",
          "8417637329336040914",
          "-4262466165513757285"
         ],
         "function": "compile_function\n",
         "id": "-5086356462657671653"
        },
        {
         "args": [
          "7661390182722779908"
         ],
         "function": "Pair.right\n",
         "id": "2269802063828066995",
         "type_params": {
          "T": {
           "type": "BlockRef"
          },
          "U": {
           "type": "Fn"
          }
         }
        },
        {
         "args": [
          "1364037969563277327",
          "-6058003024245821054"
         ],
         "function": "BlockRef.ret\n",
         "id": "2021681044924560260"
        },
        {
         "args": [
          "2269802063828066995",
          "2021681044924560260"
         ],
         "function": "Fn.add_block\n",
         "id": "8402901269412554570"
        },
        {
         "args": [
          "8402901269412554570"
         ],
         "function": "from_llvm_fn_2\n",
         "id": "-5300006026175106679"
        },
        {
         "args": [
          "-5300006026175106679"
         ],
         "function": "to_llvm_fn_2\n",
         "id": "1937395899347343275"
        },
        {
         "args": [
          "-1259645767813234200",
          "1937395899347343275"
         ],
         "function": "ModRef.mod\n",
         "id": "-3933308725665006707"
        },
        {
         "args": [
          "1937395899347343275"
         ],
         "function": "Fn.ref\n",
         "id": "-608080708309230814"
        },
        {
         "args": [
          "-3933308725665006707",
          "-608080708309230814",
          "-4262466165513757285"
         ],
         "function": "compile_function\n",
         "id": "-5988491255728222316"
        },
        {
         "args": [
          "706416695086768172",
          "2021681044924560260"
         ],
         "function": "Fn.add_block\n",
         "id": "-4407787958856443335"
        },
        {
         "args": [
          "-4407787958856443335"
         ],
         "function": "from_llvm_fn_2\n",
         "id": "-2979599475608576564"
        },
        {
         "args": [
          "-2979599475608576564"
         ],
         "function": "to_llvm_fn_2\n",
         "id": "-2471793441743931643"
        },
        {
         "args": [
          "-1259645767813234200",
          "-2471793441743931643"
         ],
         "function": "ModRef.mod\n",
         "id": "8981626855877482491"
        },
        {
         "args": [
          "-2471793441743931643"
         ],
         "function": "Fn.ref\n",
         "id": "-2541642799075723488"
        },
        {
         "args": [
          "8981626855877482491",
          "-2541642799075723488",
          "-4262466165513757285"
         ],
         "function": "compile_function\n",
         "id": "-5810529754943189185"
        },
        {
         "args": [
          "-4287992330114061160",
          "-6058003024245821054"
         ],
         "function": "BlockRef.ret\n",
         "id": "7814169828454225815"
        },
        {
         "args": [
          "706416695086768172",
          "7814169828454225815"
         ],
         "function": "Fn.add_block\n",
         "id": "2782311656443582206"
        },
        {
         "args": [
          "2782311656443582206"
         ],
         "function": "from_llvm_fn_2\n",
         "id": "5093152354328883347"
        },
        {
         "args": [
          "5093152354328883347"
         ],
         "function": "to_llvm_fn_2\n",
         "id": "-980179099114109766"
        },
        {
         "args": [
          "-1259645767813234200",
          "-980179099114109766"
         ],
         "function": "ModRef.mod\n",
         "id": "-7579732179580112082"
        },
        {
         "args": [
          "-980179099114109766"
         ],
         "function": "Fn.ref\n",
         "id": "4544358642431921765"
        },
        {
         "args": [
          "-7579732179580112082",
          "4544358642431921765",
          "-4262466165513757285"
         ],
         "function": "compile_function\n",
         "id": "5645337383557515900"
        },
        {
         "args": [
          "-4287992330114061160",
          "388809901271900913"
         ],
         "function": "BlockRef.ret\n",
         "id": "4473311031993745667"
        },
        {
         "args": [
          "706416695086768172",
          "4473311031993745667"
         ],
         "function": "Fn.add_block\n",
         "id": "-4889754282390738074"
        },
        {
         "args": [
          "-4889754282390738074"
         ],
         "function": "from_llvm_fn_2\n",
         "id": "-298895553921004414"
        },
        {
         "args": [
          "-298895553921004414"
         ],
         "function": "to_llvm_fn_2\n",
         "id": "8016017040766278801"
        },
        {
         "args": [
          "-1259645767813234200",
          "8016017040766278801"
         ],
         "function": "ModRef.mod\n",
         "id": "2970001888423572468"
        },
        {
         "args": [
          "8016017040766278801"
         ],
         "function": "Fn.ref\n",
         "id": "4160766266829719337"
        },
        {
         "args": [
          "2970001888423572468",
          "4160766266829719337",
          "-4262466165513757285"
         ],
         "function": "compile_function\n",
         "id": "-6919493787481518663"
        },
        {
         "args": [
          "6443065712994965992",
          "4473311031993745667"
         ],
         "function": "FnRef.fn\n",
         "id": "-6250822185155035328"
        },
        {
         "args": [
          "-6250822185155035328"
         ],
         "function": "from_llvm_fn_2\n",
         "id": "2338220402548615275"
        },
        {
         "args": [
          "2338220402548615275"
         ],
         "function": "to_llvm_fn_2\n",
         "id": "-7395143919271923440"
        },
        {
         "args": [
          "-1259645767813234200",
          "-7395143919271923440"
         ],
         "function": "ModRef.mod\n",
         "id": "-3589683256342677618"
        },
        {
         "args": [
          "-7395143919271923440"
         ],
         "function": "Fn.ref\n",
         "id": "-5933916156309263668"
        },
        {
         "args": [
          "-3589683256342677618",
          "-5933916156309263668",
          "-4262466165513757285"
         ],
         "function": "compile_function\n",
         "id": "-3522698397710256046"
        },
        {
         "args": [
          "-1259645767813234200",
          "-6250822185155035328"
         ],
         "function": "ModRef.mod\n",
         "id": "8502246814533390600"
        },
        {
         "args": [
          "-6250822185155035328"
         ],
         "function": "Fn.ref\n",
         "id": "-2307278577560870963"
        },
        {
         "args": [
          "8502246814533390600",
          "-2307278577560870963",
          "-4262466165513757285"
         ],
         "function": "compile_function\n",
         "id": "-4682007217505606731"
        },
        {
         "args": [
          "8502246814533390600",
          "6443065712994965992",
          "-4262466165513757285"
         ],
         "function": "compile_function\n",
         "id": "-4022711592214600058"
        },
        {
         "id": "-4485748686899451646",
         "repr": "entry_",
         "type": "str"
        },
        {
         "id": "7729659479367345739",
         "repr": "",
         "type": "str"
        },
        {
         "id": "976784040273971118",
         "repr": "entry",
         "type": "str"
        },
        {
         "id": "2947207602459711360",
         "repr": "4952627808",
         "type": "_Uniq"
        },
        {
         "args": [
          "6443065712994965992"
         ],
         "function": "FnRef.type\n",
         "id": "-8576606259676631921"
        },
        {
         "args": [
          "6443065712994965992"
         ],
         "function": "FnRef.name\n",
         "id": "7630279167916643656"
        },
        {
         "args": [
          "-8576606259676631921"
         ],
         "function": "llvm_to_c_fn_type\n",
         "id": "-6278751840179048412"
        },
        {
         "args": [
          "-4485748686899451646",
          "7630279167916643656"
         ],
         "function": "concat_strings\n",
         "id": "-4708161758537221634"
        },
        {
         "args": [
          "8502246814533390600"
         ],
         "function": "Mod.ref\n",
         "id": "-7635895613020271160"
        },
        {
         "args": [
          "-7635895613020271160",
          "-4708161758537221634",
          "-8576606259676631921",
          "7729659479367345739"
         ],
         "function": "ModRef.fn\n",
         "id": "-6639795238546302537"
        },
        {
         "args": [
          "-6639795238546302537",
          "2174576262982190149",
          "976784040273971118",
          "2947207602459711360"
         ],
         "function": "FnRef._block\n",
         "id": "-5390100198774583173"
        },
        {
         "args": [
          "-6639795238546302537"
         ],
         "function": "FnRef.arguments\n",
         "id": "-1542799527641797736"
        },
        {
         "args": [
          "-5390100198774583173",
          "6443065712994965992",
          "-1542799527641797736"
         ],
         "function": "BlockRef.call\n",
         "id": "277808217407961685"
        },
        {
         "args": [
          "-5390100198774583173",
          "277808217407961685"
         ],
         "function": "BlockRef.ret\n",
         "id": "6572576548118180743"
        },
        {
         "args": [
          "-6639795238546302537",
          "6572576548118180743"
         ],
         "function": "FnRef.fn\n",
         "id": "-1256634244811447566"
        },
        {
         "args": [
          "8502246814533390600",
          "-1256634244811447566"
         ],
         "function": "Mod.add_fn\n",
         "id": "4534992847586670327"
        },
        {
         "args": [
          "4534992847586670327"
         ],
         "function": "mod_str\n",
         "id": "4530715241202985957"
        },
        {
         "args": [
          "4530715241202985957"
         ],
         "function": "ModuleRef.create\n",
         "id": "6850565509787569482"
        },
        {
         "args": [
          "6850565509787569482",
          "-4262466165513757285"
         ],
         "function": "ModuleRef.optimize\n",
         "id": "895225224903479183"
        },
        {
         "args": [
          "895225224903479183"
         ],
         "function": "ExecutionEngine.create\n",
         "id": "-4576036384216832002"
        },
        {
         "args": [
          "-4576036384216832002",
          "-4708161758537221634"
         ],
         "function": "ExecutionEngine.get_function_address\n",
         "id": "5126722755136546764"
        },
        {
         "args": [
          "-6278751840179048412",
          "5126722755136546764"
         ],
         "function": "CFunctionType.__call__\n",
         "id": "-1341249802870673600"
        },
        {
         "args": [
          "6920011226272107764"
         ],
         "function": "llvm_to_c_fn_type\n",
         "id": "-6348676772697738740"
        },
        {
         "args": [
          "-7635895613020271160",
          "-4708161758537221634",
          "6920011226272107764",
          "7729659479367345739"
         ],
         "function": "ModRef.fn\n",
         "id": "730462797108659579"
        },
        {
         "args": [
          "730462797108659579",
          "2174576262982190149",
          "976784040273971118",
          "2947207602459711360"
         ],
         "function": "FnRef._block\n",
         "id": "3183507664943132273"
        },
        {
         "args": [
          "730462797108659579"
         ],
         "function": "FnRef.arguments\n",
         "id": "-6973022042488359538"
        },
        {
         "args": [
          "3183507664943132273",
          "6443065712994965992",
          "-6973022042488359538"
         ],
         "function": "BlockRef.call\n",
         "id": "3055346646011901080"
        },
        {
         "args": [
          "3183507664943132273",
          "3055346646011901080"
         ],
         "function": "BlockRef.ret\n",
         "id": "1274184760899050915"
        },
        {
         "args": [
          "730462797108659579",
          "1274184760899050915"
         ],
         "function": "FnRef.fn\n",
         "id": "-3682799330123816845"
        },
        {
         "args": [
          "8502246814533390600",
          "-3682799330123816845"
         ],
         "function": "Mod.add_fn\n",
         "id": "-7651466029833559425"
        },
        {
         "args": [
          "-7651466029833559425"
         ],
         "function": "mod_str\n",
         "id": "3561254854044687053"
        },
        {
         "args": [
          "3561254854044687053"
         ],
         "function": "ModuleRef.create\n",
         "id": "-42019486797549481"
        },
        {
         "args": [
          "-42019486797549481",
          "-4262466165513757285"
         ],
         "function": "ModuleRef.optimize\n",
         "id": "5556228659037303716"
        },
        {
         "args": [
          "5556228659037303716"
         ],
         "function": "ExecutionEngine.create\n",
         "id": "-9133989116486161868"
        },
        {
         "args": [
          "-9133989116486161868",
          "-4708161758537221634"
         ],
         "function": "ExecutionEngine.get_function_address\n",
         "id": "1816773668554390354"
        },
        {
         "args": [
          "-6348676772697738740",
          "1816773668554390354"
         ],
         "function": "CFunctionType.__call__\n",
         "id": "4116661615998211984"
        },
        {
         "args": [
          "896411822270447236"
         ],
         "function": "llvm_to_c_type\n",
         "id": "1334329279920769649"
        },
        {
         "args": [
          "1334329279920769649",
          "1334329279920769649",
          "1334329279920769649"
         ],
         "function": "CFunctionType.create\n",
         "id": "6634573228284385578"
        },
        {
         "args": [
          "6634573228284385578",
          "1816773668554390354"
         ],
         "function": "CFunctionType.__call__\n",
         "id": "-8992343331704541651"
        },
        {
         "function": "CType.c_int\n",
         "id": "-8691819984001117433"
        },
        {
         "args": [
          "-8691819984001117433",
          "-8691819984001117433",
          "-8691819984001117433"
         ],
         "function": "CFunctionType.create\n",
         "id": "7687852306347064831"
        },
        {
         "args": [
          "7687852306347064831",
          "1816773668554390354"
         ],
         "function": "CFunctionType.__call__\n",
         "id": "-1713872782020011907"
        },
        {
         "args": [
          "-4485748686899451646",
          "620784253559051387"
         ],
         "function": "concat_strings\n",
         "id": "6290307500369069629"
        },
        {
         "args": [
          "-7635895613020271160",
          "6290307500369069629",
          "6920011226272107764",
          "7729659479367345739"
         ],
         "function": "ModRef.fn\n",
         "id": "8264485096004795904"
        },
        {
         "args": [
          "8264485096004795904",
          "2174576262982190149",
          "976784040273971118",
          "2947207602459711360"
         ],
         "function": "FnRef._block\n",
         "id": "6175723154605753174"
        },
        {
         "args": [
          "8264485096004795904"
         ],
         "function": "FnRef.arguments\n",
         "id": "54615950863522952"
        },
        {
         "args": [
          "6175723154605753174",
          "6443065712994965992",
          "54615950863522952"
         ],
         "function": "BlockRef.call\n",
         "id": "8146958499774089076"
        },
        {
         "args": [
          "6175723154605753174",
          "8146958499774089076"
         ],
         "function": "BlockRef.ret\n",
         "id": "9167265393571188182"
        },
        {
         "args": [
          "8264485096004795904",
          "9167265393571188182"
         ],
         "function": "FnRef.fn\n",
         "id": "-2419154510293368899"
        },
        {
         "args": [
          "8502246814533390600",
          "-2419154510293368899"
         ],
         "function": "Mod.add_fn\n",
         "id": "8916048681038413964"
        },
        {
         "args": [
          "8916048681038413964"
         ],
         "function": "mod_str\n",
         "id": "1516949497300444336"
        },
        {
         "args": [
          "1516949497300444336"
         ],
         "function": "ModuleRef.create\n",
         "id": "7720243533711733741"
        },
        {
         "args": [
          "7720243533711733741",
          "-4262466165513757285"
         ],
         "function": "ModuleRef.optimize\n",
         "id": "2173401025575971080"
        },
        {
         "args": [
          "2173401025575971080"
         ],
         "function": "ExecutionEngine.create\n",
         "id": "-451305890429072219"
        },
        {
         "args": [
          "-451305890429072219",
          "6290307500369069629"
         ],
         "function": "ExecutionEngine.get_function_address\n",
         "id": "-3880708907240950764"
        },
        {
         "args": [
          "7687852306347064831",
          "-3880708907240950764"
         ],
         "function": "CFunctionType.__call__\n",
         "id": "2721796430436125539"
        },
        {
         "id": "6806303904774431906",
         "repr": "entry_add",
         "type": "str"
        },
        {
         "args": [
          "-7635895613020271160",
          "6806303904774431906",
          "6920011226272107764",
          "7729659479367345739"
         ],
         "function": "ModRef.fn\n",
         "id": "-5940172474693341664"
        },
        {
         "args": [
          "-5940172474693341664",
          "2174576262982190149",
          "976784040273971118",
          "2947207602459711360"
         ],
         "function": "FnRef._block\n",
         "id": "4161926303444884313"
        },
        {
         "args": [
          "-5940172474693341664"
         ],
         "function": "FnRef.arguments\n",
         "id": "-1575964025555230154"
        },
        {
         "args": [
          "4161926303444884313",
          "6443065712994965992",
          "-1575964025555230154"
         ],
         "function": "BlockRef.call\n",
         "id": "3924452970058664262"
        },
        {
         "args": [
          "4161926303444884313",
          "3924452970058664262"
         ],
         "function": "BlockRef.ret\n",
         "id": "1632410476371949368"
        },
        {
         "args": [
          "-5940172474693341664",
          "1632410476371949368"
         ],
         "function": "FnRef.fn\n",
         "id": "8363344268866010088"
        },
        {
         "args": [
          "8502246814533390600",
          "8363344268866010088"
         ],
         "function": "Mod.add_fn\n",
         "id": "3752355308830270960"
        },
        {
         "args": [
          "3752355308830270960"
         ],
         "function": "mod_str\n",
         "id": "-2668848225489420096"
        },
        {
         "args": [
          "-2668848225489420096"
         ],
         "function": "ModuleRef.create\n",
         "id": "-3360982181041966885"
        },
        {
         "args": [
          "-3360982181041966885",
          "-4262466165513757285"
         ],
         "function": "ModuleRef.optimize\n",
         "id": "1789818650482813946"
        },
        {
         "args": [
          "1789818650482813946"
         ],
         "function": "ExecutionEngine.create\n",
         "id": "2020204229325146413"
        },
        {
         "args": [
          "2020204229325146413",
          "6806303904774431906"
         ],
         "function": "ExecutionEngine.get_function_address\n",
         "id": "260283824136595087"
        },
        {
         "args": [
          "7687852306347064831",
          "260283824136595087"
         ],
         "function": "CFunctionType.__call__\n",
         "id": "1360987208449411127"
        },
        {
         "args": [
          "-1259645767813234200",
          "6806303904774431906",
          "6920011226272107764",
          "7729659479367345739"
         ],
         "function": "ModRef.fn\n",
         "id": "-1805281809653197566"
        },
        {
         "args": [
          "-1805281809653197566",
          "2174576262982190149",
          "976784040273971118",
          "2947207602459711360"
         ],
         "function": "FnRef._block\n",
         "id": "-6906300339042637648"
        },
        {
         "args": [
          "-1805281809653197566"
         ],
         "function": "FnRef.arguments\n",
         "id": "-3182637252964767872"
        },
        {
         "args": [
          "-6906300339042637648",
          "6443065712994965992",
          "-3182637252964767872"
         ],
         "function": "BlockRef.call\n",
         "id": "-1462621244087035546"
        },
        {
         "args": [
          "-6906300339042637648",
          "-1462621244087035546"
         ],
         "function": "BlockRef.ret\n",
         "id": "-1677023646692176814"
        },
        {
         "args": [
          "-1805281809653197566",
          "-1677023646692176814"
         ],
         "function": "FnRef.fn\n",
         "id": "1310612256198302914"
        },
        {
         "args": [
          "8502246814533390600",
          "1310612256198302914"
         ],
         "function": "Mod.add_fn\n",
         "id": "-1842147282242016465"
        },
        {
         "args": [
          "-1842147282242016465"
         ],
         "function": "mod_str\n",
         "id": "-122563709972847480"
        },
        {
         "args": [
          "-122563709972847480"
         ],
         "function": "ModuleRef.create\n",
         "id": "-3341566657874386775"
        },
        {
         "args": [
          "-3341566657874386775",
          "-4262466165513757285"
         ],
         "function": "ModuleRef.optimize\n",
         "id": "-4695176850630205500"
        },
        {
         "args": [
          "-4695176850630205500"
         ],
         "function": "ExecutionEngine.create\n",
         "id": "-7555460000407234388"
        },
        {
         "args": [
          "-7555460000407234388",
          "6806303904774431906"
         ],
         "function": "ExecutionEngine.get_function_address\n",
         "id": "4275510204619882782"
        },
        {
         "args": [
          "7687852306347064831",
          "4275510204619882782"
         ],
         "function": "CFunctionType.__call__\n",
         "id": "-7089261329658232414"
        },
        {
         "args": [
          "-1259645767813234200",
          "-6250822185155035328",
          "1310612256198302914"
         ],
         "function": "ModRef.mod\n",
         "id": "-7821794325205073028"
        },
        {
         "args": [
          "-7821794325205073028"
         ],
         "function": "mod_str\n",
         "id": "-397316233428138708"
        },
        {
         "args": [
          "-397316233428138708"
         ],
         "function": "ModuleRef.create\n",
         "id": "-2859261381271047504"
        },
        {
         "args": [
          "-2859261381271047504",
          "-4262466165513757285"
         ],
         "function": "ModuleRef.optimize\n",
         "id": "-7627055448857497170"
        },
        {
         "args": [
          "-7627055448857497170"
         ],
         "function": "ExecutionEngine.create\n",
         "id": "1855837802547640946"
        },
        {
         "args": [
          "1855837802547640946",
          "6806303904774431906"
         ],
         "function": "ExecutionEngine.get_function_address\n",
         "id": "-9062028191470434407"
        },
        {
         "args": [
          "7687852306347064831",
          "-9062028191470434407"
         ],
         "function": "CFunctionType.__call__\n",
         "id": "-999818507167379704"
        },
        {
         "id": "-1427269299823347335",
         "repr": "; ModuleID = \"add\"\ntarget triple = \"unknown-unknown-unknown\"\ntarget datalayout = \"\"\n",
         "type": "Module"
        },
        {
         "args": [
          "-1427269299823347335"
         ],
         "function": "box_mod_ref\n",
         "id": "7947621914677231462"
        },
        {
         "args": [
          "7947621914677231462",
          "620784253559051387",
          "6920011226272107764",
          "8314187887841895722"
         ],
         "function": "ModRef.fn\n",
         "id": "-5311887871508002987"
        },
        {
         "args": [
          "7947621914677231462",
          "6806303904774431906",
          "6920011226272107764",
          "7729659479367345739"
         ],
         "function": "ModRef.fn\n",
         "id": "-7423475612477589783"
        },
        {
         "args": [
          "-5311887871508002987",
          "2174576262982190149",
          "-8647664536320713804",
          "2608332961566761191"
         ],
         "function": "FnRef._block\n",
         "id": "-7705493335976915164"
        },
        {
         "args": [
          "-5311887871508002987"
         ],
         "function": "FnRef.arguments\n",
         "id": "-6470406506620385823"
        },
        {
         "args": [
          "-7423475612477589783",
          "2174576262982190149",
          "976784040273971118",
          "2947207602459711360"
         ],
         "function": "FnRef._block\n",
         "id": "-5383321346945900485"
        },
        {
         "args": [
          "-7423475612477589783"
         ],
         "function": "FnRef.arguments\n",
         "id": "2204072696503352206"
        },
        {
         "args": [
          "-6470406506620385823",
          "8201783764071103985"
         ],
         "function": "Vec.__getitem__\n",
         "id": "1445235559088521800",
         "type_params": {
          "T": {
           "type": "Value"
          }
         }
        },
        {
         "args": [
          "-6470406506620385823",
          "-7137755224053718221"
         ],
         "function": "Vec.__getitem__\n",
         "id": "-3730393437450895520",
         "type_params": {
          "T": {
           "type": "Value"
          }
         }
        },
        {
         "args": [
          "-5383321346945900485",
          "-5311887871508002987",
          "2204072696503352206"
         ],
         "function": "BlockRef.call\n",
         "id": "4536885991172399238"
        },
        {
         "args": [
          "-7705493335976915164",
          "1445235559088521800",
          "-3730393437450895520"
         ],
         "function": "BlockRef.add\n",
         "id": "-6549275520409314029"
        },
        {
         "args": [
          "-5383321346945900485",
          "4536885991172399238"
         ],
         "function": "BlockRef.ret\n",
         "id": "-2021702299346596126"
        },
        {
         "args": [
          "-7705493335976915164",
          "-6549275520409314029",
          "3517026737124413055"
         ],
         "function": "BlockRef.add\n",
         "id": "4213845402921117011"
        },
        {
         "args": [
          "-7423475612477589783",
          "-2021702299346596126"
         ],
         "function": "FnRef.fn\n",
         "id": "4090050328315764982"
        },
        {
         "args": [
          "-7705493335976915164",
          "4213845402921117011"
         ],
         "function": "BlockRef.ret\n",
         "id": "-2712310897215153976"
        },
        {
         "args": [
          "-5311887871508002987",
          "-2712310897215153976"
         ],
         "function": "FnRef.fn\n",
         "id": "7012520582850991923"
        },
        {
         "args": [
          "7947621914677231462",
          "7012520582850991923",
          "4090050328315764982"
         ],
         "function": "ModRef.mod\n",
         "id": "4753056911894548257"
        },
        {
         "args": [
          "4753056911894548257"
         ],
         "function": "mod_str\n",
         "id": "50399459717190840"
        },
        {
         "args": [
          "50399459717190840"
         ],
         "function": "ModuleRef.create\n",
         "id": "2007953310234316006"
        },
        {
         "args": [
          "2007953310234316006",
          "-4262466165513757285"
         ],
         "function": "ModuleRef.optimize\n",
         "id": "-3494860129063659959"
        },
        {
         "args": [
          "-3494860129063659959"
         ],
         "function": "ExecutionEngine.create\n",
         "id": "-3754217460084050896"
        },
        {
         "args": [
          "-3754217460084050896",
          "6806303904774431906"
         ],
         "function": "ExecutionEngine.get_function_address\n",
         "id": "7116661103203081270"
        },
        {
         "args": [
          "7687852306347064831",
          "7116661103203081270"
         ],
         "function": "CFunctionType.__call__\n",
         "id": "6016863737543877720"
        },
        {
         "id": "6738449927437796380",
         "repr": "i32",
         "type": "IntType"
        },
        {
         "args": [
          "6738449927437796380"
         ],
         "function": "box_type\n",
         "id": "7254378971735631597"
        },
        {
         "args": [
          "7254378971735631597",
          "7254378971735631597",
          "7254378971735631597"
         ],
         "function": "FnType.create\n",
         "id": "1537418376424093855"
        },
        {
         "args": [
          "7254378971735631597",
          "-4262466165513757285"
         ],
         "function": "Value.constant\n",
         "id": "-2342937846046670828"
        },
        {
         "args": [
          "7947621914677231462",
          "620784253559051387",
          "1537418376424093855",
          "8314187887841895722"
         ],
         "function": "ModRef.fn\n",
         "id": "1070170113372121855"
        },
        {
         "args": [
          "7947621914677231462",
          "6806303904774431906",
          "1537418376424093855",
          "7729659479367345739"
         ],
         "function": "ModRef.fn\n",
         "id": "-3035166753241674307"
        },
        {
         "args": [
          "1070170113372121855",
          "2174576262982190149",
          "-8647664536320713804",
          "2608332961566761191"
         ],
         "function": "FnRef._block\n",
         "id": "-2155189918775674613"
        },
        {
         "args": [
          "1070170113372121855"
         ],
         "function": "FnRef.arguments\n",
         "id": "-4808377702014980013"
        },
        {
         "args": [
          "-3035166753241674307",
          "2174576262982190149",
          "976784040273971118",
          "2947207602459711360"
         ],
         "function": "FnRef._block\n",
         "id": "5543037921321229629"
        },
        {
         "args": [
          "-3035166753241674307"
         ],
         "function": "FnRef.arguments\n",
         "id": "-151218334033947092"
        },
        {
         "args": [
          "-4808377702014980013",
          "8201783764071103985"
         ],
         "function": "Vec.__getitem__\n",
         "id": "-5992516520001211231",
         "type_params": {
          "T": {
           "type": "Value"
          }
         }
        },
        {
         "args": [
          "-4808377702014980013",
          "-7137755224053718221"
         ],
         "function": "Vec.__getitem__\n",
         "id": "9152604340687319158",
         "type_params": {
          "T": {
           "type": "Value"
          }
         }
        },
        {
         "args": [
          "5543037921321229629",
          "1070170113372121855",
          "-151218334033947092"
         ],
         "function": "BlockRef.call\n",
         "id": "-7233371355616402190"
        },
        {
         "args": [
          "-2155189918775674613",
          "-5992516520001211231",
          "9152604340687319158"
         ],
         "function": "BlockRef.add\n",
         "id": "-2420858085889990583"
        },
        {
         "args": [
          "5543037921321229629",
          "-7233371355616402190"
         ],
         "function": "BlockRef.ret\n",
         "id": "-6241119100602686803"
        },
        {
         "args": [
          "-2155189918775674613",
          "-2420858085889990583",
          "-2342937846046670828"
         ],
         "function": "BlockRef.add\n",
         "id": "-1243147331552554268"
        },
        {
         "args": [
          "-3035166753241674307",
          "-6241119100602686803"
         ],
         "function": "FnRef.fn\n",
         "id": "7459167325181112757"
        },
        {
         "args": [
          "-2155189918775674613",
          "-1243147331552554268"
         ],
         "function": "BlockRef.ret\n",
         "id": "-4750828998548376876"
        },
        {
         "args": [
          "1070170113372121855",
          "-4750828998548376876"
         ],
         "function": "FnRef.fn\n",
         "id": "-8561993094121827269"
        },
        {
         "args": [
          "7947621914677231462",
          "-8561993094121827269",
          "7459167325181112757"
         ],
         "function": "ModRef.mod\n",
         "id": "6551007063161494753"
        },
        {
         "args": [
          "6551007063161494753"
         ],
         "function": "mod_str\n",
         "id": "-272716051632392370"
        },
        {
         "args": [
          "-272716051632392370"
         ],
         "function": "ModuleRef.create\n",
         "id": "467631554308973322"
        },
        {
         "args": [
          "467631554308973322",
          "-4262466165513757285"
         ],
         "function": "ModuleRef.optimize\n",
         "id": "2423172074290348732"
        },
        {
         "args": [
          "2423172074290348732"
         ],
         "function": "ExecutionEngine.create\n",
         "id": "-2228644617335757381"
        },
        {
         "args": [
          "-2228644617335757381",
          "6806303904774431906"
         ],
         "function": "ExecutionEngine.get_function_address\n",
         "id": "4372756755229616292"
        },
        {
         "args": [
          "7687852306347064831",
          "4372756755229616292"
         ],
         "function": "CFunctionType.__call__\n",
         "id": "-4844812588041245677"
        },
        {
         "id": "2102013918000065989",
         "repr": "i32 (i32, i32)",
         "type": "FunctionType"
        },
        {
         "args": [
          "2102013918000065989"
         ],
         "function": "box_fn_type\n",
         "id": "-4061110614390901054"
        },
        {
         "args": [
          "7947621914677231462",
          "620784253559051387",
          "-4061110614390901054",
          "8314187887841895722"
         ],
         "function": "ModRef.fn\n",
         "id": "-3245025128822325491"
        },
        {
         "args": [
          "7947621914677231462",
          "6806303904774431906",
          "-4061110614390901054",
          "7729659479367345739"
         ],
         "function": "ModRef.fn\n",
         "id": "6244179386477405776"
        },
        {
         "args": [
          "-3245025128822325491",
          "2174576262982190149",
          "-8647664536320713804",
          "2608332961566761191"
         ],
         "function": "FnRef._block\n",
         "id": "5502150895787686906"
        },
        {
         "args": [
          "-3245025128822325491"
         ],
         "function": "FnRef.arguments\n",
         "id": "7428376345011055175"
        },
        {
         "args": [
          "6244179386477405776",
          "2174576262982190149",
          "976784040273971118",
          "2947207602459711360"
         ],
         "function": "FnRef._block\n",
         "id": "-3160076998660813094"
        },
        {
         "args": [
          "6244179386477405776"
         ],
         "function": "FnRef.arguments\n",
         "id": "-5762306654085157343"
        },
        {
         "args": [
          "7428376345011055175",
          "8201783764071103985"
         ],
         "function": "Vec.__getitem__\n",
         "id": "442373000426814477",
         "type_params": {
          "T": {
           "type": "Value"
          }
         }
        },
        {
         "args": [
          "7428376345011055175",
          "-7137755224053718221"
         ],
         "function": "Vec.__getitem__\n",
         "id": "-3031447430802508747",
         "type_params": {
          "T": {
           "type": "Value"
          }
         }
        },
        {
         "args": [
          "-3160076998660813094",
          "-3245025128822325491",
          "-5762306654085157343"
         ],
         "function": "BlockRef.call\n",
         "id": "-7506801023227649599"
        },
        {
         "args": [
          "5502150895787686906",
          "442373000426814477",
          "-3031447430802508747"
         ],
         "function": "BlockRef.add\n",
         "id": "2105757973995476275"
        },
        {
         "args": [
          "-3160076998660813094",
          "-7506801023227649599"
         ],
         "function": "BlockRef.ret\n",
         "id": "-4792250136367584102"
        },
        {
         "args": [
          "5502150895787686906",
          "2105757973995476275",
          "-2342937846046670828"
         ],
         "function": "BlockRef.add\n",
         "id": "-1160491919033702303"
        },
        {
         "args": [
          "6244179386477405776",
          "-4792250136367584102"
         ],
         "function": "FnRef.fn\n",
         "id": "3716167124953229746"
        },
        {
         "args": [
          "5502150895787686906",
          "-1160491919033702303"
         ],
         "function": "BlockRef.ret\n",
         "id": "6044793092599755586"
        },
        {
         "args": [
          "-3245025128822325491",
          "6044793092599755586"
         ],
         "function": "FnRef.fn\n",
         "id": "-3697391442834155128"
        },
        {
         "args": [
          "7947621914677231462",
          "-3697391442834155128",
          "3716167124953229746"
         ],
         "function": "ModRef.mod\n",
         "id": "-6642757953643795062"
        },
        {
         "args": [
          "-6642757953643795062"
         ],
         "function": "mod_str\n",
         "id": "9204942314229852230"
        },
        {
         "args": [
          "9204942314229852230"
         ],
         "function": "ModuleRef.create\n",
         "id": "-5752046619868572665"
        },
        {
         "args": [
          "-5752046619868572665",
          "-4262466165513757285"
         ],
         "function": "ModuleRef.optimize\n",
         "id": "-5678188836770149639"
        },
        {
         "args": [
          "-5678188836770149639"
         ],
         "function": "ExecutionEngine.create\n",
         "id": "3450332702274980944"
        },
        {
         "args": [
          "3450332702274980944",
          "6806303904774431906"
         ],
         "function": "ExecutionEngine.get_function_address\n",
         "id": "3289776512456183435"
        },
        {
         "args": [
          "7687852306347064831",
          "3289776512456183435"
         ],
         "function": "CFunctionType.__call__\n",
         "id": "-7464028114676333008"
        },
        {
         "id": "8096496754603123216",
         "repr": "i32 1",
         "type": "Constant"
        },
        {
         "args": [
          "8096496754603123216"
         ],
         "function": "box_value\n",
         "id": "-7409640487386521139"
        },
        {
         "args": [
          "5502150895787686906",
          "2105757973995476275",
          "-7409640487386521139"
         ],
         "function": "BlockRef.add\n",
         "id": "-1628477714844238736"
        },
        {
         "args": [
          "5502150895787686906",
          "-1628477714844238736"
         ],
         "function": "BlockRef.ret\n",
         "id": "4596183069491909133"
        },
        {
         "args": [
          "-3245025128822325491",
          "4596183069491909133"
         ],
         "function": "FnRef.fn\n",
         "id": "-2288557646135326446"
        },
        {
         "args": [
          "7947621914677231462",
          "-2288557646135326446",
          "3716167124953229746"
         ],
         "function": "ModRef.mod\n",
         "id": "-3826783276834418712"
        },
        {
         "args": [
          "-3826783276834418712"
         ],
         "function": "mod_str\n",
         "id": "-402760789802967485"
        },
        {
         "args": [
          "-402760789802967485"
         ],
         "function": "ModuleRef.create\n",
         "id": "1964245937041242218"
        },
        {
         "args": [
          "1964245937041242218",
          "-4262466165513757285"
         ],
         "function": "ModuleRef.optimize\n",
         "id": "-8237067111800064255"
        },
        {
         "args": [
          "-8237067111800064255"
         ],
         "function": "ExecutionEngine.create\n",
         "id": "-3718827830529061239"
        },
        {
         "args": [
          "-3718827830529061239",
          "6806303904774431906"
         ],
         "function": "ExecutionEngine.get_function_address\n",
         "id": "6647959501872772639"
        },
        {
         "args": [
          "7687852306347064831",
          "6647959501872772639"
         ],
         "function": "CFunctionType.__call__\n",
         "id": "2015437729955776343"
        },
        {
         "id": "6747186829139872780",
         "repr": "; ModuleID = \"add\"\ntarget triple = \"unknown-unknown-unknown\"\ntarget datalayout = \"\"\n\ndeclare fastcc i32 @\"add\"(i32 %\".1\", i32 %\".2\") \n",
         "type": "Module"
        },
        {
         "id": "-6365823152927076485",
         "repr": "declare fastcc i32 @\"add\"(i32 %\".1\", i32 %\".2\") \n",
         "type": "Function"
        },
        {
         "args": [
          "6747186829139872780"
         ],
         "function": "box_mod_ref\n",
         "id": "-5268980088725424495"
        },
        {
         "args": [
          "-6365823152927076485"
         ],
         "function": "box_fn_ref\n",
         "id": "-2218400885834023263"
        },
        {
         "args": [
          "-5268980088725424495",
          "6806303904774431906",
          "-4061110614390901054",
          "7729659479367345739"
         ],
         "function": "ModRef.fn\n",
         "id": "2577395883600318882"
        },
        {
         "args": [
          "-2218400885834023263",
          "2174576262982190149",
          "-8647664536320713804",
          "2608332961566761191"
         ],
         "function": "FnRef._block\n",
         "id": "7951160857690686600"
        },
        {
         "args": [
          "-2218400885834023263"
         ],
         "function": "FnRef.arguments\n",
         "id": "5023240979943610418"
        },
        {
         "args": [
          "2577395883600318882",
          "2174576262982190149",
          "976784040273971118",
          "2947207602459711360"
         ],
         "function": "FnRef._block\n",
         "id": "-5638314817888026788"
        },
        {
         "args": [
          "2577395883600318882"
         ],
         "function": "FnRef.arguments\n",
         "id": "-5422495757318403904"
        },
        {
         "args": [
          "5023240979943610418",
          "8201783764071103985"
         ],
         "function": "Vec.__getitem__\n",
         "id": "8461982151890667011",
         "type_params": {
          "T": {
           "type": "Value"
          }
         }
        },
        {
         "args": [
          "5023240979943610418",
          "-7137755224053718221"
         ],
         "function": "Vec.__getitem__\n",
         "id": "635923134813548604",
         "type_params": {
          "T": {
           "type": "Value"
          }
         }
        },
        {
         "args": [
          "-5638314817888026788",
          "-2218400885834023263",
          "-5422495757318403904"
         ],
         "function": "BlockRef.call\n",
         "id": "3724665536811306164"
        },
        {
         "args": [
          "7951160857690686600",
          "8461982151890667011",
          "635923134813548604"
         ],
         "function": "BlockRef.add\n",
         "id": "7448014063738856064"
        },
        {
         "args": [
          "-5638314817888026788",
          "3724665536811306164"
         ],
         "function": "BlockRef.ret\n",
         "id": "6171584883724289054"
        },
        {
         "args": [
          "7951160857690686600",
          "7448014063738856064",
          "-7409640487386521139"
         ],
         "function": "BlockRef.add\n",
         "id": "1250368420182820110"
        },
        {
         "args": [
          "2577395883600318882",
          "6171584883724289054"
         ],
         "function": "FnRef.fn\n",
         "id": "-5801044027402444332"
        },
        {
         "args": [
          "7951160857690686600",
          "1250368420182820110"
         ],
         "function": "BlockRef.ret\n",
         "id": "2486859605755769212"
        },
        {
         "args": [
          "-2218400885834023263",
          "2486859605755769212"
         ],
         "function": "FnRef.fn\n",
         "id": "-8095389861328720322"
        },
        {
         "args": [
          "-5268980088725424495",
          "-8095389861328720322",
          "-5801044027402444332"
         ],
         "function": "ModRef.mod\n",
         "id": "1148571156894987451"
        },
        {
         "args": [
          "1148571156894987451"
         ],
         "function": "mod_str\n",
         "id": "-1344996332639330476"
        },
        {
         "args": [
          "-1344996332639330476"
         ],
         "function": "ModuleRef.create\n",
         "id": "-3078149099989536460"
        },
        {
         "args": [
          "-3078149099989536460",
          "-4262466165513757285"
         ],
         "function": "ModuleRef.optimize\n",
         "id": "-483764435682537453"
        },
        {
         "args": [
          "-483764435682537453"
         ],
         "function": "ExecutionEngine.create\n",
         "id": "8035627431527291533"
        },
        {
         "args": [
          "8035627431527291533",
          "6806303904774431906"
         ],
         "function": "ExecutionEngine.get_function_address\n",
         "id": "-5203358949440154339"
        },
        {
         "args": [
          "7687852306347064831",
          "-5203358949440154339"
         ],
         "function": "CFunctionType.__call__\n",
         "id": "-2904735076802383405"
        },
        {
         "id": "-3480119938960469851",
         "repr": "; ModuleID = \"add\"\ntarget triple = \"unknown-unknown-unknown\"\ntarget datalayout = \"\"\n\ndeclare fastcc i32 @\"add\"(i32 %\".1\", i32 %\".2\") \n\ndeclare i32 @\"entry_add\"(i32 %\".1\", i32 %\".2\") \n",
         "type": "Module"
        },
        {
         "id": "-4476060215746635761",
         "repr": "declare i32 @\"entry_add\"(i32 %\".1\", i32 %\".2\") \n",
         "type": "Function"
        },
        {
         "args": [
          "-3480119938960469851"
         ],
         "function": "box_mod_ref\n",
         "id": "-7573760946997925129"
        },
        {
         "args": [
          "-4476060215746635761"
         ],
         "function": "box_fn_ref\n",
         "id": "7350273108049436407"
        },
        {
         "args": [
          "7350273108049436407",
          "2174576262982190149",
          "976784040273971118",
          "2947207602459711360"
         ],
         "function": "FnRef._block\n",
         "id": "2859507103356479715"
        },
        {
         "args": [
          "7350273108049436407"
         ],
         "function": "FnRef.arguments\n",
         "id": "4150716148583423867"
        },
        {
         "args": [
          "2859507103356479715",
          "-2218400885834023263",
          "4150716148583423867"
         ],
         "function": "BlockRef.call\n",
         "id": "3330344192701630766"
        },
        {
         "args": [
          "2859507103356479715",
          "3330344192701630766"
         ],
         "function": "BlockRef.ret\n",
         "id": "-121214436571695862"
        },
        {
         "args": [
          "7350273108049436407",
          "-121214436571695862"
         ],
         "function": "FnRef.fn\n",
         "id": "-5258886012095224748"
        },
        {
         "args": [
          "-7573760946997925129",
          "-8095389861328720322",
          "-5258886012095224748"
         ],
         "function": "ModRef.mod\n",
         "id": "388659978722304642"
        },
        {
         "args": [
          "388659978722304642"
         ],
         "function": "mod_str\n",
         "id": "-4820698266840803755"
        },
        {
         "args": [
          "-4820698266840803755"
         ],
         "function": "ModuleRef.create\n",
         "id": "-5194291801311459418"
        },
        {
         "args": [
          "-5194291801311459418",
          "-4262466165513757285"
         ],
         "function": "ModuleRef.optimize\n",
         "id": "456052627473687751"
        },
        {
         "args": [
          "456052627473687751"
         ],
         "function": "ExecutionEngine.create\n",
         "id": "-1035220273063917837"
        },
        {
         "args": [
          "-1035220273063917837",
          "6806303904774431906"
         ],
         "function": "ExecutionEngine.get_function_address\n",
         "id": "6886212870425849868"
        },
        {
         "args": [
          "7687852306347064831",
          "6886212870425849868"
         ],
         "function": "CFunctionType.__call__\n",
         "id": "5705526864255429749"
        },
        {
         "id": "-8616766620450926175",
         "repr": "; ModuleID = \"add\"\ntarget triple = \"unknown-unknown-unknown\"\ntarget datalayout = \"\"\n\ndefine fastcc i32 @\"add\"(i32 %\".1\", i32 %\".2\") \n{\n.4:\n}\n\ndeclare i32 @\"entry_add\"(i32 %\".1\", i32 %\".2\") \n",
         "type": "Module"
        },
        {
         "id": "230562703464659681",
         "repr": "define fastcc i32 @\"add\"(i32 %\".1\", i32 %\".2\") \n{\n.4:\n}\n",
         "type": "Function"
        },
        {
         "id": "-1358308262478132887",
         "repr": "IRBuilder: 0x1277a0ee0\n%\".4\" = .4:",
         "type": "IRBuilder"
        },
        {
         "args": [
          "-8616766620450926175"
         ],
         "function": "box_mod_ref\n",
         "id": "684732100447942046"
        },
        {
         "args": [
          "230562703464659681"
         ],
         "function": "box_fn_ref\n",
         "id": "7320676328801235784"
        },
        {
         "args": [
          "-1358308262478132887"
         ],
         "function": "box_block_ref\n",
         "id": "-7646059045988806171"
        },
        {
         "args": [
          "7320676328801235784"
         ],
         "function": "FnRef.arguments\n",
         "id": "2056894611562930578"
        },
        {
         "args": [
          "2056894611562930578",
          "8201783764071103985"
         ],
         "function": "Vec.__getitem__\n",
         "id": "1849149388822894749",
         "type_params": {
          "T": {
           "type": "Value"
          }
         }
        },
        {
         "args": [
          "2056894611562930578",
          "-7137755224053718221"
         ],
         "function": "Vec.__getitem__\n",
         "id": "8824250930422668626",
         "type_params": {
          "T": {
           "type": "Value"
          }
         }
        },
        {
         "args": [
          "2859507103356479715",
          "7320676328801235784",
          "4150716148583423867"
         ],
         "function": "BlockRef.call\n",
         "id": "1038620512564134236"
        },
        {
         "args": [
          "-7646059045988806171",
          "1849149388822894749",
          "8824250930422668626"
         ],
         "function": "BlockRef.add\n",
         "id": "1857734564745694151"
        },
        {
         "args": [
          "2859507103356479715",
          "1038620512564134236"
         ],
         "function": "BlockRef.ret\n",
         "id": "277829836933800751"
        },
        {
         "args": [
          "-7646059045988806171",
          "1857734564745694151",
          "-7409640487386521139"
         ],
         "function": "BlockRef.add\n",
         "id": "-7232781937289323890"
        },
        {
         "args": [
          "7350273108049436407",
          "277829836933800751"
         ],
         "function": "FnRef.fn\n",
         "id": "-5492521260853025386"
        },
        {
         "args": [
          "-7646059045988806171",
          "-7232781937289323890"
         ],
         "function": "BlockRef.ret\n",
         "id": "1764023488433457295"
        },
        {
         "args": [
          "7320676328801235784",
          "1764023488433457295"
         ],
         "function": "FnRef.fn\n",
         "id": "-2740387565529241314"
        },
        {
         "args": [
          "684732100447942046",
          "-2740387565529241314",
          "-5492521260853025386"
         ],
         "function": "ModRef.mod\n",
         "id": "-2907825485637063619"
        },
        {
         "args": [
          "-2907825485637063619"
         ],
         "function": "mod_str\n",
         "id": "-3609961014752936914"
        },
        {
         "args": [
          "-3609961014752936914"
         ],
         "function": "ModuleRef.create\n",
         "id": "5736301672708036653"
        },
        {
         "args": [
          "5736301672708036653",
          "-4262466165513757285"
         ],
         "function": "ModuleRef.optimize\n",
         "id": "532307074425285428"
        },
        {
         "args": [
          "532307074425285428"
         ],
         "function": "ExecutionEngine.create\n",
         "id": "-5293672028749261856"
        },
        {
         "args": [
          "-5293672028749261856",
          "6806303904774431906"
         ],
         "function": "ExecutionEngine.get_function_address\n",
         "id": "-3806273562969866772"
        },
        {
         "args": [
          "7687852306347064831",
          "-3806273562969866772"
         ],
         "function": "CFunctionType.__call__\n",
         "id": "8187469883521495923"
        },
        {
         "id": "4884939422703405032",
         "repr": "i32 %\".1\"",
         "type": "Argument"
        },
        {
         "id": "990080689678426816",
         "repr": "i32 %\".2\"",
         "type": "Argument"
        },
        {
         "args": [
          "4884939422703405032"
         ],
         "function": "box_value\n",
         "id": "4773850645235462944"
        },
        {
         "args": [
          "990080689678426816"
         ],
         "function": "box_value\n",
         "id": "-457045296072545689"
        },
        {
         "args": [
          "4773850645235462944",
          "-457045296072545689"
         ],
         "function": "Vec.create\n",
         "id": "-2360964863422699735"
        },
        {
         "args": [
          "-2360964863422699735",
          "8201783764071103985"
         ],
         "function": "Vec.__getitem__\n",
         "id": "7183383113435900937",
         "type_params": {
          "T": {
           "type": "Value"
          }
         }
        },
        {
         "args": [
          "-2360964863422699735",
          "-7137755224053718221"
         ],
         "function": "Vec.__getitem__\n",
         "id": "-7667560311201432751",
         "type_params": {
          "T": {
           "type": "Value"
          }
         }
        },
        {
         "args": [
          "-7646059045988806171",
          "7183383113435900937",
          "-7667560311201432751"
         ],
         "function": "BlockRef.add\n",
         "id": "-5804484000608012429"
        },
        {
         "args": [
          "-7646059045988806171",
          "-5804484000608012429",
          "-7409640487386521139"
         ],
         "function": "BlockRef.add\n",
         "id": "-7849831369147674521"
        },
        {
         "args": [
          "-7646059045988806171",
          "-7849831369147674521"
         ],
         "function": "BlockRef.ret\n",
         "id": "-8765303508334512312"
        },
        {
         "args": [
          "7320676328801235784",
          "-8765303508334512312"
         ],
         "function": "FnRef.fn\n",
         "id": "-4538582098898548692"
        },
        {
         "args": [
          "684732100447942046",
          "-4538582098898548692",
          "-5492521260853025386"
         ],
         "function": "ModRef.mod\n",
         "id": "-935093898774957283"
        },
        {
         "args": [
          "-935093898774957283"
         ],
         "function": "mod_str\n",
         "id": "5143404171982896843"
        },
        {
         "args": [
          "5143404171982896843"
         ],
         "function": "ModuleRef.create\n",
         "id": "-2321542893632313005"
        },
        {
         "args": [
          "-2321542893632313005",
          "-4262466165513757285"
         ],
         "function": "ModuleRef.optimize\n",
         "id": "3046387210161361053"
        },
        {
         "args": [
          "3046387210161361053"
         ],
         "function": "ExecutionEngine.create\n",
         "id": "4449605606974820924"
        },
        {
         "args": [
          "4449605606974820924",
          "6806303904774431906"
         ],
         "function": "ExecutionEngine.get_function_address\n",
         "id": "-2193863220416833336"
        },
        {
         "args": [
          "7687852306347064831",
          "-2193863220416833336"
         ],
         "function": "CFunctionType.__call__\n",
         "id": "-635990140872515928"
        },
        {
         "id": "4113625402893311110",
         "repr": "; ModuleID = \"add\"\ntarget triple = \"unknown-unknown-unknown\"\ntarget datalayout = \"\"\n\ndefine fastcc i32 @\"add\"(i32 %\".1\", i32 %\".2\") \n{\n.4:\n}\n\ndefine i32 @\"entry_add\"(i32 %\".1\", i32 %\".2\") \n{\nentry:\n}\n",
         "type": "Module"
        },
        {
         "id": "460734241286828772",
         "repr": "define i32 @\"entry_add\"(i32 %\".1\", i32 %\".2\") \n{\nentry:\n}\n",
         "type": "Function"
        },
        {
         "id": "8832404316440713991",
         "repr": "IRBuilder: 0x1276db8b0\n%\"entry\" = entry:",
         "type": "IRBuilder"
        },
        {
         "args": [
          "4113625402893311110"
         ],
         "function": "box_mod_ref\n",
         "id": "1953927235303470179"
        },
        {
         "args": [
          "460734241286828772"
         ],
         "function": "box_fn_ref\n",
         "id": "5773416485695497650"
        },
        {
         "args": [
          "8832404316440713991"
         ],
         "function": "box_block_ref\n",
         "id": "-6627327860256661864"
        },
        {
         "args": [
          "5773416485695497650"
         ],
         "function": "FnRef.arguments\n",
         "id": "7748290762070771013"
        },
        {
         "args": [
          "-6627327860256661864",
          "7320676328801235784",
          "7748290762070771013"
         ],
         "function": "BlockRef.call\n",
         "id": "-5695669960013116298"
        },
        {
         "args": [
          "-6627327860256661864",
          "-5695669960013116298"
         ],
         "function": "BlockRef.ret\n",
         "id": "-4027979178085759129"
        },
        {
         "args": [
          "5773416485695497650",
          "-4027979178085759129"
         ],
         "function": "FnRef.fn\n",
         "id": "-3976310361105988878"
        },
        {
         "args": [
          "1953927235303470179",
          "-4538582098898548692",
          "-3976310361105988878"
         ],
         "function": "ModRef.mod\n",
         "id": "-7692220579820852356"
        },
        {
         "args": [
          "-7692220579820852356"
         ],
         "function": "mod_str\n",
         "id": "-3555857679371071466"
        },
        {
         "args": [
          "-3555857679371071466"
         ],
         "function": "ModuleRef.create\n",
         "id": "-5268499624361936425"
        },
        {
         "args": [
          "-5268499624361936425",
          "-4262466165513757285"
         ],
         "function": "ModuleRef.optimize\n",
         "id": "2847897687484846937"
        },
        {
         "args": [
          "2847897687484846937"
         ],
         "function": "ExecutionEngine.create\n",
         "id": "4103493795707607647"
        },
        {
         "args": [
          "4103493795707607647",
          "6806303904774431906"
         ],
         "function": "ExecutionEngine.get_function_address\n",
         "id": "-7426630461572359877"
        },
        {
         "args": [
          "7687852306347064831",
          "-7426630461572359877"
         ],
         "function": "CFunctionType.__call__\n",
         "id": "-2882256857405778138"
        },
        {
         "id": "4694378520196204749",
         "repr": "i32 %\".1\"",
         "type": "Argument"
        },
        {
         "id": "-6718486796741816489",
         "repr": "i32 %\".2\"",
         "type": "Argument"
        },
        {
         "args": [
          "4694378520196204749"
         ],
         "function": "box_value\n",
         "id": "-7577198542581842717"
        },
        {
         "args": [
          "-6718486796741816489"
         ],
         "function": "box_value\n",
         "id": "-8359695037674106552"
        },
        {
         "args": [
          "-7577198542581842717",
          "-8359695037674106552"
         ],
         "function": "Vec.create\n",
         "id": "4569909918260782283"
        },
        {
         "args": [
          "-6627327860256661864",
          "7320676328801235784",
          "4569909918260782283"
         ],
         "function": "BlockRef.call\n",
         "id": "3332402666637101487"
        },
        {
         "args": [
          "-6627327860256661864",
          "3332402666637101487"
         ],
         "function": "BlockRef.ret\n",
         "id": "4648577401649392895"
        },
        {
         "args": [
          "5773416485695497650",
          "4648577401649392895"
         ],
         "function": "FnRef.fn\n",
         "id": "-4850991353252001897"
        },
        {
         "args": [
          "1953927235303470179",
          "-4538582098898548692",
          "-4850991353252001897"
         ],
         "function": "ModRef.mod\n",
         "id": "-7998770828988010878"
        },
        {
         "args": [
          "-7998770828988010878"
         ],
         "function": "mod_str\n",
         "id": "-5195855356363246538"
        },
        {
         "args": [
          "-5195855356363246538"
         ],
         "function": "ModuleRef.create\n",
         "id": "-4850421229678803417"
        },
        {
         "args": [
          "-4850421229678803417",
          "-4262466165513757285"
         ],
         "function": "ModuleRef.optimize\n",
         "id": "-6606890280023955444"
        },
        {
         "args": [
          "-6606890280023955444"
         ],
         "function": "ExecutionEngine.create\n",
         "id": "-6116678143312425516"
        },
        {
         "args": [
          "-6116678143312425516",
          "6806303904774431906"
         ],
         "function": "ExecutionEngine.get_function_address\n",
         "id": "7807873319738257061"
        },
        {
         "args": [
          "7687852306347064831",
          "7807873319738257061"
         ],
         "function": "CFunctionType.__call__\n",
         "id": "-3117652534798661427"
        },
        {
         "args": [
          "-7646059045988806171",
          "4773850645235462944",
          "-7667560311201432751"
         ],
         "function": "BlockRef.add\n",
         "id": "9130557453901383540"
        },
        {
         "args": [
          "-7646059045988806171",
          "9130557453901383540",
          "-7409640487386521139"
         ],
         "function": "BlockRef.add\n",
         "id": "8613394024698408591"
        },
        {
         "args": [
          "-7646059045988806171",
          "8613394024698408591"
         ],
         "function": "BlockRef.ret\n",
         "id": "4302140313485585771"
        },
        {
         "args": [
          "7320676328801235784",
          "4302140313485585771"
         ],
         "function": "FnRef.fn\n",
         "id": "3879333785448784410"
        },
        {
         "args": [
          "1953927235303470179",
          "3879333785448784410",
          "-4850991353252001897"
         ],
         "function": "ModRef.mod\n",
         "id": "4589899157863457166"
        },
        {
         "args": [
          "4589899157863457166"
         ],
         "function": "mod_str\n",
         "id": "-2936436342790956780"
        },
        {
         "args": [
          "-2936436342790956780"
         ],
         "function": "ModuleRef.create\n",
         "id": "-6799452028902798849"
        },
        {
         "args": [
          "-6799452028902798849",
          "-4262466165513757285"
         ],
         "function": "ModuleRef.optimize\n",
         "id": "5705451112982133224"
        },
        {
         "args": [
          "5705451112982133224"
         ],
         "function": "ExecutionEngine.create\n",
         "id": "4026702295743708107"
        },
        {
         "args": [
          "4026702295743708107",
          "6806303904774431906"
         ],
         "function": "ExecutionEngine.get_function_address\n",
         "id": "-2020416362090079502"
        },
        {
         "args": [
          "7687852306347064831",
          "-2020416362090079502"
         ],
         "function": "CFunctionType.__call__\n",
         "id": "6721391536030997370"
        },
        {
         "args": [
          "-7646059045988806171",
          "4773850645235462944",
          "-457045296072545689"
         ],
         "function": "BlockRef.add\n",
         "id": "-5457781473920497395"
        },
        {
         "args": [
          "-7646059045988806171",
          "-5457781473920497395",
          "-7409640487386521139"
         ],
         "function": "BlockRef.add\n",
         "id": "8462931009100965516"
        },
        {
         "args": [
          "-7646059045988806171",
          "8462931009100965516"
         ],
         "function": "BlockRef.ret\n",
         "id": "6754303677600864245"
        },
        {
         "args": [
          "7320676328801235784",
          "6754303677600864245"
         ],
         "function": "FnRef.fn\n",
         "id": "6462949954306848281"
        },
        {
         "args": [
          "1953927235303470179",
          "6462949954306848281",
          "-4850991353252001897"
         ],
         "function": "ModRef.mod\n",
         "id": "7713666158697714007"
        },
        {
         "args": [
          "7713666158697714007"
         ],
         "function": "mod_str\n",
         "id": "-8898222447569189669"
        },
        {
         "args": [
          "-8898222447569189669"
         ],
         "function": "ModuleRef.create\n",
         "id": "-2009983025990355310"
        },
        {
         "args": [
          "-2009983025990355310",
          "-4262466165513757285"
         ],
         "function": "ModuleRef.optimize\n",
         "id": "5496863095658460143"
        },
        {
         "args": [
          "5496863095658460143"
         ],
         "function": "ExecutionEngine.create\n",
         "id": "-6839876900501585709"
        },
        {
         "args": [
          "-6839876900501585709",
          "6806303904774431906"
         ],
         "function": "ExecutionEngine.get_function_address\n",
         "id": "-6311496786604541731"
        },
        {
         "args": [
          "7687852306347064831",
          "-6311496786604541731"
         ],
         "function": "CFunctionType.__call__\n",
         "id": "-3476404583979063908"
        },
        {
         "id": "-561723673077771349",
         "repr": "; ModuleID = \"add\"\ntarget triple = \"unknown-unknown-unknown\"\ntarget datalayout = \"\"\n\ndefine fastcc i32 @\"add\"(i32 %\".1\", i32 %\".2\") \n{\n.4:\n  %\".5\" = add i32 %\".1\", %\".2\"\n}\n\ndefine i32 @\"entry_add\"(i32 %\".1\", i32 %\".2\") \n{\nentry:\n}\n",
         "type": "Module"
        },
        {
         "id": "-6748151314484801537",
         "repr": "define fastcc i32 @\"add\"(i32 %\".1\", i32 %\".2\") \n{\n.4:\n  %\".5\" = add i32 %\".1\", %\".2\"\n}\n",
         "type": "Function"
        },
        {
         "id": "62983228206312800",
         "repr": "%\".5\" = add i32 %\".1\", %\".2\"",
         "type": "Instruction"
        },
        {
         "args": [
          "-561723673077771349"
         ],
         "function": "box_mod_ref\n",
         "id": "5697954373957169232"
        },
        {
         "args": [
          "-6748151314484801537"
         ],
         "function": "box_fn_ref\n",
         "id": "597381349805453495"
        },
        {
         "args": [
          "62983228206312800"
         ],
         "function": "box_value\n",
         "id": "-2756079850981886082"
        },
        {
         "args": [
          "-7646059045988806171",
          "-2756079850981886082",
          "-7409640487386521139"
         ],
         "function": "BlockRef.add\n",
         "id": "4064287690182462610"
        },
        {
         "args": [
          "-7646059045988806171",
          "4064287690182462610"
         ],
         "function": "BlockRef.ret\n",
         "id": "-8731288235416324645"
        },
        {
         "args": [
          "-6627327860256661864",
          "597381349805453495",
          "4569909918260782283"
         ],
         "function": "BlockRef.call\n",
         "id": "-3189881677661394359"
        },
        {
         "args": [
          "597381349805453495",
          "-8731288235416324645"
         ],
         "function": "FnRef.fn\n",
         "id": "-4284446709205131482"
        },
        {
         "args": [
          "-6627327860256661864",
          "-3189881677661394359"
         ],
         "function": "BlockRef.ret\n",
         "id": "5410689123778265929"
        },
        {
         "args": [
          "5773416485695497650",
          "5410689123778265929"
         ],
         "function": "FnRef.fn\n",
         "id": "-8024367701873771239"
        },
        {
         "args": [
          "5697954373957169232",
          "-4284446709205131482",
          "-8024367701873771239"
         ],
         "function": "ModRef.mod\n",
         "id": "3478029610939963078"
        },
        {
         "args": [
          "3478029610939963078"
         ],
         "function": "mod_str\n",
         "id": "3669559158555285086"
        },
        {
         "args": [
          "3669559158555285086"
         ],
         "function": "ModuleRef.create\n",
         "id": "5674178950746645042"
        },
        {
         "args": [
          "5674178950746645042",
          "-4262466165513757285"
         ],
         "function": "ModuleRef.optimize\n",
         "id": "541472896745241754"
        },
        {
         "args": [
          "541472896745241754"
         ],
         "function": "ExecutionEngine.create\n",
         "id": "6546805954348796006"
        },
        {
         "args": [
          "6546805954348796006",
          "6806303904774431906"
         ],
         "function": "ExecutionEngine.get_function_address\n",
         "id": "-6065467574458732652"
        },
        {
         "args": [
          "7687852306347064831",
          "-6065467574458732652"
         ],
         "function": "CFunctionType.__call__\n",
         "id": "-3226175549398803512"
        },
        {
         "id": "3150118411244665247",
         "repr": "; ModuleID = \"add\"\ntarget triple = \"unknown-unknown-unknown\"\ntarget datalayout = \"\"\n\ndefine fastcc i32 @\"add\"(i32 %\".1\", i32 %\".2\") \n{\n.4:\n  %\".5\" = add i32 %\".1\", %\".2\"\n  %\".6\" = add i32 %\".5\", 1\n}\n\ndefine i32 @\"entry_add\"(i32 %\".1\", i32 %\".2\") \n{\nentry:\n}\n",
         "type": "Module"
        },
        {
         "id": "-4521217075823368844",
         "repr": "define fastcc i32 @\"add\"(i32 %\".1\", i32 %\".2\") \n{\n.4:\n  %\".5\" = add i32 %\".1\", %\".2\"\n  %\".6\" = add i32 %\".5\", 1\n}\n",
         "type": "Function"
        },
        {
         "id": "8310349249900029431",
         "repr": "%\".6\" = add i32 %\".5\", 1",
         "type": "Instruction"
        },
        {
         "args": [
          "3150118411244665247"
         ],
         "function": "box_mod_ref\n",
         "id": "5755703725934215620"
        },
        {
         "args": [
          "-4521217075823368844"
         ],
         "function": "box_fn_ref\n",
         "id": "-6187946958979993611"
        },
        {
         "args": [
          "8310349249900029431"
         ],
         "function": "box_value\n",
         "id": "-6341434491142961357"
        },
        {
         "args": [
          "-7646059045988806171",
          "-6341434491142961357"
         ],
         "function": "BlockRef.ret\n",
         "id": "-5550583072563358341"
        },
        {
         "args": [
          "-6187946958979993611",
          "-5550583072563358341"
         ],
         "function": "FnRef.fn\n",
         "id": "-3983031826617672848"
        },
        {
         "args": [
          "-6627327860256661864",
          "-6187946958979993611",
          "4569909918260782283"
         ],
         "function": "BlockRef.call\n",
         "id": "2258621734712705403"
        },
        {
         "args": [
          "-6627327860256661864",
          "2258621734712705403"
         ],
         "function": "BlockRef.ret\n",
         "id": "3844949186756700236"
        },
        {
         "args": [
          "5773416485695497650",
          "3844949186756700236"
         ],
         "function": "FnRef.fn\n",
         "id": "7234676123366051515"
        },
        {
         "args": [
          "5755703725934215620",
          "-3983031826617672848",
          "7234676123366051515"
         ],
         "function": "ModRef.mod\n",
         "id": "-5984424167297617810"
        },
        {
         "args": [
          "-5984424167297617810"
         ],
         "function": "mod_str\n",
         "id": "-287636674090841439"
        },
        {
         "args": [
          "-287636674090841439"
         ],
         "function": "ModuleRef.create\n",
         "id": "3560647168334869247"
        },
        {
         "args": [
          "3560647168334869247",
          "-4262466165513757285"
         ],
         "function": "ModuleRef.optimize\n",
         "id": "6672405402146242306"
        },
        {
         "args": [
          "6672405402146242306"
         ],
         "function": "ExecutionEngine.create\n",
         "id": "2374955757898026327"
        },
        {
         "args": [
          "2374955757898026327",
          "6806303904774431906"
         ],
         "function": "ExecutionEngine.get_function_address\n",
         "id": "-3824933996463172800"
        },
        {
         "args": [
          "7687852306347064831",
          "-3824933996463172800"
         ],
         "function": "CFunctionType.__call__\n",
         "id": "5766317548030036279"
        },
        {
         "id": "-6840011678771510421",
         "repr": "; ModuleID = \"add\"\ntarget triple = \"unknown-unknown-unknown\"\ntarget datalayout = \"\"\n\ndefine fastcc i32 @\"add\"(i32 %\".1\", i32 %\".2\") \n{\n.4:\n  %\".5\" = add i32 %\".1\", %\".2\"\n  %\".6\" = add i32 %\".5\", 1\n  ret i32 %\".6\"\n}\n\ndefine i32 @\"entry_add\"(i32 %\".1\", i32 %\".2\") \n{\nentry:\n}\n",
         "type": "Module"
        },
        {
         "id": "2462831514630382575",
         "repr": "define fastcc i32 @\"add\"(i32 %\".1\", i32 %\".2\") \n{\n.4:\n  %\".5\" = add i32 %\".1\", %\".2\"\n  %\".6\" = add i32 %\".5\", 1\n  ret i32 %\".6\"\n}\n",
         "type": "Function"
        },
        {
         "args": [
          "-6840011678771510421"
         ],
         "function": "box_mod_ref\n",
         "id": "-4438626330310476197"
        },
        {
         "args": [
          "2462831514630382575"
         ],
         "function": "box_fn_ref\n",
         "id": "-9000946648613824017"
        },
        {
         "args": [
          "-1358308262478132887"
         ],
         "function": "box_terminate\n",
         "id": "7631274592430440212"
        },
        {
         "args": [
          "-9000946648613824017",
          "7631274592430440212"
         ],
         "function": "FnRef.fn\n",
         "id": "2785581160447074992"
        },
        {
         "args": [
          "-6627327860256661864",
          "-9000946648613824017",
          "4569909918260782283"
         ],
         "function": "BlockRef.call\n",
         "id": "-4031805847874142510"
        },
        {
         "args": [
          "-6627327860256661864",
          "-4031805847874142510"
         ],
         "function": "BlockRef.ret\n",
         "id": "3696779924293428425"
        },
        {
         "args": [
          "5773416485695497650",
          "3696779924293428425"
         ],
         "function": "FnRef.fn\n",
         "id": "-1237153991482429046"
        },
        {
         "args": [
          "-4438626330310476197",
          "2785581160447074992",
          "-1237153991482429046"
         ],
         "function": "ModRef.mod\n",
         "id": "-3000019319582467181"
        },
        {
         "args": [
          "-3000019319582467181"
         ],
         "function": "mod_str\n",
         "id": "2822054892987170722"
        },
        {
         "args": [
          "2822054892987170722"
         ],
         "function": "ModuleRef.create\n",
         "id": "2326508416122834868"
        },
        {
         "args": [
          "2326508416122834868",
          "-4262466165513757285"
         ],
         "function": "ModuleRef.optimize\n",
         "id": "-6041322024270221026"
        },
        {
         "args": [
          "-6041322024270221026"
         ],
         "function": "ExecutionEngine.create\n",
         "id": "556165697579548569"
        },
        {
         "args": [
          "556165697579548569",
          "6806303904774431906"
         ],
         "function": "ExecutionEngine.get_function_address\n",
         "id": "8737348685968280686"
        },
        {
         "args": [
          "7687852306347064831",
          "8737348685968280686"
         ],
         "function": "CFunctionType.__call__\n",
         "id": "4959732644872606120"
        },
        {
         "args": [
          "-9000946648613824017"
         ],
         "function": "FnRef.fn\n",
         "id": "-2028961857730918039"
        },
        {
         "args": [
          "-4438626330310476197",
          "-2028961857730918039",
          "-1237153991482429046"
         ],
         "function": "ModRef.mod\n",
         "id": "-9005441360496699149"
        },
        {
         "args": [
          "-9005441360496699149"
         ],
         "function": "mod_str\n",
         "id": "6054264842826260209"
        },
        {
         "args": [
          "6054264842826260209"
         ],
         "function": "ModuleRef.create\n",
         "id": "-5738635845457405435"
        },
        {
         "args": [
          "-5738635845457405435",
          "-4262466165513757285"
         ],
         "function": "ModuleRef.optimize\n",
         "id": "7057380163479405082"
        },
        {
         "args": [
          "7057380163479405082"
         ],
         "function": "ExecutionEngine.create\n",
         "id": "-118495551907343518"
        },
        {
         "args": [
          "-118495551907343518",
          "6806303904774431906"
         ],
         "function": "ExecutionEngine.get_function_address\n",
         "id": "-5164091124738105464"
        },
        {
         "args": [
          "7687852306347064831",
          "-5164091124738105464"
         ],
         "function": "CFunctionType.__call__\n",
         "id": "-7660547217031557418"
        },
        {
         "args": [
          "2462831514630382575"
         ],
         "function": "box_fn\n",
         "id": "-1450552482430945590"
        },
        {
         "args": [
          "-4438626330310476197",
          "-1450552482430945590",
          "-1237153991482429046"
         ],
         "function": "ModRef.mod\n",
         "id": "7641208120904439152"
        },
        {
         "args": [
          "7641208120904439152"
         ],
         "function": "mod_str\n",
         "id": "-4506143487614490172"
        },
        {
         "args": [
          "-4506143487614490172"
         ],
         "function": "ModuleRef.create\n",
         "id": "8197808319514907742"
        },
        {
         "args": [
          "8197808319514907742",
          "-4262466165513757285"
         ],
         "function": "ModuleRef.optimize\n",
         "id": "-5665386746845106772"
        },
        {
         "args": [
          "-5665386746845106772"
         ],
         "function": "ExecutionEngine.create\n",
         "id": "-8892547278482113960"
        },
        {
         "args": [
          "-8892547278482113960",
          "6806303904774431906"
         ],
         "function": "ExecutionEngine.get_function_address\n",
         "id": "-1568426754413241435"
        },
        {
         "args": [
          "7687852306347064831",
          "-1568426754413241435"
         ],
         "function": "CFunctionType.__call__\n",
         "id": "441148786628745106"
        },
        {
         "id": "-7015945870960538181",
         "repr": "; ModuleID = \"add\"\ntarget triple = \"unknown-unknown-unknown\"\ntarget datalayout = \"\"\n\ndefine fastcc i32 @\"add\"(i32 %\".1\", i32 %\".2\") \n{\n.4:\n  %\".5\" = add i32 %\".1\", %\".2\"\n  %\".6\" = add i32 %\".5\", 1\n  ret i32 %\".6\"\n}\n\ndefine i32 @\"entry_add\"(i32 %\".1\", i32 %\".2\") \n{\nentry:\n  %\".4\" = call fastcc i32 @\"add\"(i32 %\".1\", i32 %\".2\")\n}\n",
         "type": "Module"
        },
        {
         "id": "861794450030575349",
         "repr": "define i32 @\"entry_add\"(i32 %\".1\", i32 %\".2\") \n{\nentry:\n  %\".4\" = call fastcc i32 @\"add\"(i32 %\".1\", i32 %\".2\")\n}\n",
         "type": "Function"
        },
        {
         "id": "253299177968431648",
         "repr": "%\".4\" = call fastcc i32 @\"add\"(i32 %\".1\", i32 %\".2\")",
         "type": "CallInstr"
        },
        {
         "args": [
          "-7015945870960538181"
         ],
         "function": "box_mod_ref\n",
         "id": "-7227657960946363945"
        },
        {
         "args": [
          "861794450030575349"
         ],
         "function": "box_fn_ref\n",
         "id": "945887654696213423"
        },
        {
         "args": [
          "253299177968431648"
         ],
         "function": "box_value\n",
         "id": "5527587767450353229"
        },
        {
         "args": [
          "-6627327860256661864",
          "5527587767450353229"
         ],
         "function": "BlockRef.ret\n",
         "id": "-1343527603808893717"
        },
        {
         "args": [
          "945887654696213423",
          "-1343527603808893717"
         ],
         "function": "FnRef.fn\n",
         "id": "-5600349886079301328"
        },
        {
         "args": [
          "-7227657960946363945",
          "-1450552482430945590",
          "-5600349886079301328"
         ],
         "function": "ModRef.mod\n",
         "id": "-4570119172453349802"
        },
        {
         "args": [
          "-4570119172453349802"
         ],
         "function": "mod_str\n",
         "id": "-3633530007947542381"
        },
        {
         "args": [
          "-3633530007947542381"
         ],
         "function": "ModuleRef.create\n",
         "id": "-5573208150817364629"
        },
        {
         "args": [
          "-5573208150817364629",
          "-4262466165513757285"
         ],
         "function": "ModuleRef.optimize\n",
         "id": "-4953465525990849186"
        },
        {
         "args": [
          "-4953465525990849186"
         ],
         "function": "ExecutionEngine.create\n",
         "id": "4778283170639508224"
        },
        {
         "args": [
          "4778283170639508224",
          "6806303904774431906"
         ],
         "function": "ExecutionEngine.get_function_address\n",
         "id": "7402038812160615879"
        },
        {
         "args": [
          "7687852306347064831",
          "7402038812160615879"
         ],
         "function": "CFunctionType.__call__\n",
         "id": "-8650430477847290020"
        },
        {
         "id": "529457704414604717",
         "repr": "; ModuleID = \"add\"\ntarget triple = \"unknown-unknown-unknown\"\ntarget datalayout = \"\"\n\ndefine fastcc i32 @\"add\"(i32 %\".1\", i32 %\".2\") \n{\n.4:\n  %\".5\" = add i32 %\".1\", %\".2\"\n  %\".6\" = add i32 %\".5\", 1\n  ret i32 %\".6\"\n}\n\ndefine i32 @\"entry_add\"(i32 %\".1\", i32 %\".2\") \n{\nentry:\n  %\".4\" = call fastcc i32 @\"add\"(i32 %\".1\", i32 %\".2\")\n  ret i32 %\".4\"\n}\n",
         "type": "Module"
        },
        {
         "id": "668033338221422191",
         "repr": "define i32 @\"entry_add\"(i32 %\".1\", i32 %\".2\") \n{\nentry:\n  %\".4\" = call fastcc i32 @\"add\"(i32 %\".1\", i32 %\".2\")\n  ret i32 %\".4\"\n}\n",
         "type": "Function"
        },
        {
         "args": [
          "529457704414604717"
         ],
         "function": "box_mod_ref\n",
         "id": "5094306500362197061"
        },
        {
         "args": [
          "668033338221422191"
         ],
         "function": "box_fn_ref\n",
         "id": "-934632611011018235"
        },
        {
         "args": [
          "8832404316440713991"
         ],
         "function": "box_terminate\n",
         "id": "8650005778162584519"
        },
        {
         "args": [
          "-934632611011018235",
          "8650005778162584519"
         ],
         "function": "FnRef.fn\n",
         "id": "-8919251661204696944"
        },
        {
         "args": [
          "5094306500362197061",
          "-1450552482430945590",
          "-8919251661204696944"
         ],
         "function": "ModRef.mod\n",
         "id": "-4503224799296637876"
        },
        {
         "args": [
          "-4503224799296637876"
         ],
         "function": "mod_str\n",
         "id": "-6594096091429549139"
        },
        {
         "args": [
          "-6594096091429549139"
         ],
         "function": "ModuleRef.create\n",
         "id": "-3826558971321969930"
        },
        {
         "args": [
          "-3826558971321969930",
          "-4262466165513757285"
         ],
         "function": "ModuleRef.optimize\n",
         "id": "-6141958482123667200"
        },
        {
         "args": [
          "-6141958482123667200"
         ],
         "function": "ExecutionEngine.create\n",
         "id": "5344746186025652567"
        },
        {
         "args": [
          "5344746186025652567",
          "6806303904774431906"
         ],
         "function": "ExecutionEngine.get_function_address\n",
         "id": "6229397339584276551"
        },
        {
         "args": [
          "7687852306347064831",
          "6229397339584276551"
         ],
         "function": "CFunctionType.__call__\n",
         "id": "-7550566799044451848"
        },
        {
         "args": [
          "-934632611011018235"
         ],
         "function": "FnRef.fn\n",
         "id": "-1616023006129522144"
        },
        {
         "args": [
          "5094306500362197061",
          "-1450552482430945590",
          "-1616023006129522144"
         ],
         "function": "ModRef.mod\n",
         "id": "7244617590320265916"
        },
        {
         "args": [
          "7244617590320265916"
         ],
         "function": "mod_str\n",
         "id": "8865586907797951939"
        },
        {
         "args": [
          "8865586907797951939"
         ],
         "function": "ModuleRef.create\n",
         "id": "-2885968895108731588"
        },
        {
         "args": [
          "-2885968895108731588",
          "-4262466165513757285"
         ],
         "function": "ModuleRef.optimize\n",
         "id": "-2095263875185495744"
        },
        {
         "args": [
          "-2095263875185495744"
         ],
         "function": "ExecutionEngine.create\n",
         "id": "209030434500530482"
        },
        {
         "args": [
          "209030434500530482",
          "6806303904774431906"
         ],
         "function": "ExecutionEngine.get_function_address\n",
         "id": "-1580500996668309439"
        },
        {
         "args": [
          "7687852306347064831",
          "-1580500996668309439"
         ],
         "function": "CFunctionType.__call__\n",
         "id": "-8363099449071216883"
        },
        {
         "args": [
          "668033338221422191"
         ],
         "function": "box_fn\n",
         "id": "-4784953229902834599"
        },
        {
         "args": [
          "5094306500362197061",
          "-1450552482430945590",
          "-4784953229902834599"
         ],
         "function": "ModRef.mod\n",
         "id": "7364324231596445551"
        },
        {
         "args": [
          "7364324231596445551"
         ],
         "function": "mod_str\n",
         "id": "8296855481390675499"
        },
        {
         "args": [
          "8296855481390675499"
         ],
         "function": "ModuleRef.create\n",
         "id": "-5118990629934093272"
        },
        {
         "args": [
          "-5118990629934093272",
          "-4262466165513757285"
         ],
         "function": "ModuleRef.optimize\n",
         "id": "7752460312500121395"
        },
        {
         "args": [
          "7752460312500121395"
         ],
         "function": "ExecutionEngine.create\n",
         "id": "4241538517588867748"
        },
        {
         "args": [
          "4241538517588867748",
          "6806303904774431906"
         ],
         "function": "ExecutionEngine.get_function_address\n",
         "id": "-5992386642796533320"
        },
        {
         "args": [
          "7687852306347064831",
          "-5992386642796533320"
         ],
         "function": "CFunctionType.__call__\n",
         "id": "-2919567429423777224"
        },
        {
         "args": [
          "5094306500362197061",
          "-4784953229902834599"
         ],
         "function": "ModRef.mod\n",
         "id": "6398545165940150538"
        },
        {
         "args": [
          "6398545165940150538"
         ],
         "function": "mod_str\n",
         "id": "9184246281321676424"
        },
        {
         "args": [
          "9184246281321676424"
         ],
         "function": "ModuleRef.create\n",
         "id": "-9086102895239854069"
        },
        {
         "args": [
          "-9086102895239854069",
          "-4262466165513757285"
         ],
         "function": "ModuleRef.optimize\n",
         "id": "-6052805604158725963"
        },
        {
         "args": [
          "-6052805604158725963"
         ],
         "function": "ExecutionEngine.create\n",
         "id": "773315350122804523"
        },
        {
         "args": [
          "773315350122804523",
          "6806303904774431906"
         ],
         "function": "ExecutionEngine.get_function_address\n",
         "id": "-1246434954679827244"
        },
        {
         "args": [
          "7687852306347064831",
          "-1246434954679827244"
         ],
         "function": "CFunctionType.__call__\n",
         "id": "7476598601990581866"
        },
        {
         "args": [
          "5094306500362197061"
         ],
         "function": "ModRef.mod\n",
         "id": "-8018739490842682834"
        },
        {
         "args": [
          "-8018739490842682834"
         ],
         "function": "mod_str\n",
         "id": "8530596409377839033"
        },
        {
         "args": [
          "8530596409377839033"
         ],
         "function": "ModuleRef.create\n",
         "id": "-8669599904298291801"
        },
        {
         "args": [
          "-8669599904298291801",
          "-4262466165513757285"
         ],
         "function": "ModuleRef.optimize\n",
         "id": "7010384417324450946"
        },
        {
         "args": [
          "7010384417324450946"
         ],
         "function": "ExecutionEngine.create\n",
         "id": "-2603506352087859463"
        },
        {
         "args": [
          "-2603506352087859463",
          "6806303904774431906"
         ],
         "function": "ExecutionEngine.get_function_address\n",
         "id": "5635095102309740485"
        },
        {
         "args": [
          "7687852306347064831",
          "5635095102309740485"
         ],
         "function": "CFunctionType.__call__\n",
         "id": "-3985457603794740432"
        },
        {
         "args": [
          "529457704414604717"
         ],
         "function": "box_mod\n",
         "id": "-6024851490733871275"
        },
        {
         "args": [
          "-6024851490733871275"
         ],
         "function": "mod_str\n",
         "id": "5584333091183698948"
        },
        {
         "args": [
          "5584333091183698948"
         ],
         "function": "ModuleRef.create\n",
         "id": "-8837734340793303374"
        },
        {
         "args": [
          "-8837734340793303374",
          "-4262466165513757285"
         ],
         "function": "ModuleRef.optimize\n",
         "id": "-2137577050940849889"
        },
        {
         "args": [
          "-2137577050940849889"
         ],
         "function": "ExecutionEngine.create\n",
         "id": "-4153520140543666812"
        },
        {
         "args": [
          "-4153520140543666812",
          "6806303904774431906"
         ],
         "function": "ExecutionEngine.get_function_address\n",
         "id": "3487451133410115245"
        },
        {
         "args": [
          "7687852306347064831",
          "3487451133410115245"
         ],
         "function": "CFunctionType.__call__\n",
         "id": "5760499326501589971"
        },
        {
         "id": "2324620528842002511",
         "repr": "; ModuleID = \"add\"\ntarget triple = \"unknown-unknown-unknown\"\ntarget datalayout = \"\"\n\ndefine fastcc i32 @\"add\"(i32 %\".1\", i32 %\".2\") \n{\n.4:\n  %\".5\" = add i32 %\".1\", %\".2\"\n  %\".6\" = add i32 %\".5\", 1\n  ret i32 %\".6\"\n}\n\ndefine i32 @\"entry_add\"(i32 %\".1\", i32 %\".2\") \n{\nentry:\n  %\".4\" = call fastcc i32 @\"add\"(i32 %\".1\", i32 %\".2\")\n  ret i32 %\".4\"\n}\n",
         "type": "str"
        },
        {
         "args": [
          "2324620528842002511"
         ],
         "function": "ModuleRef.create\n",
         "id": "3793526345929253969"
        },
        {
         "args": [
          "3793526345929253969",
          "-4262466165513757285"
         ],
         "function": "ModuleRef.optimize\n",
         "id": "8383352817802694013"
        },
        {
         "args": [
          "8383352817802694013"
         ],
         "function": "ExecutionEngine.create\n",
         "id": "-5697111761419688808"
        },
        {
         "args": [
          "-5697111761419688808",
          "6806303904774431906"
         ],
         "function": "ExecutionEngine.get_function_address\n",
         "id": "-2918117938766259740"
        },
        {
         "args": [
          "7687852306347064831",
          "-2918117938766259740"
         ],
         "function": "CFunctionType.__call__\n",
         "id": "-5296320422260117959"
        },
        {
         "id": "7915422578369472552",
         "repr": "<class 'ctypes.c_int'>",
         "type": "PyCSimpleType"
        },
        {
         "args": [
          "7915422578369472552"
         ],
         "function": "CType.box\n",
         "id": "-8332130295487525204"
        },
        {
         "args": [
          "-8332130295487525204",
          "-8332130295487525204",
          "-8332130295487525204"
         ],
         "function": "CFunctionType.create\n",
         "id": "3415647876440634111"
        },
        {
         "args": [
          "3415647876440634111",
          "-2918117938766259740"
         ],
         "function": "CFunctionType.__call__\n",
         "id": "-446054625915039273"
        },
        {
         "id": "-8345037993850220693",
         "repr": "<class 'ctypes.CFUNCTYPE.<locals>.CFunctionType'>",
         "type": "PyCFuncPtrType"
        },
        {
         "args": [
          "-8345037993850220693"
         ],
         "function": "CFunctionType.box\n",
         "id": "5294962929150932990"
        },
        {
         "args": [
          "5294962929150932990",
          "-2918117938766259740"
         ],
         "function": "CFunctionType.__call__\n",
         "id": "6848375383423060400"
        },
        {
         "id": "-4115565638116065576",
         "repr": "; ModuleID = '<string>'\nsource_filename = \"<string>\"\ntarget triple = \"unknown-unknown-unknown\"\n\ndefine fastcc i32 @add(i32 %.1, i32 %.2) {\n.4:\n  %.5 = add i32 %.1, %.2\n  %.6 = add i32 %.5, 1\n  ret i32 %.6\n}\n\ndefine i32 @entry_add(i32 %.1, i32 %.2) {\nentry:\n  %.4 = call fastcc i32 @add(i32 %.1, i32 %.2)\n  ret i32 %.4\n}\n",
         "type": "ModuleRef"
        },
        {
         "args": [
          "-4115565638116065576"
         ],
         "function": "ModuleRef.box\n",
         "id": "854733724262511217"
        },
        {
         "args": [
          "854733724262511217",
          "-4262466165513757285"
         ],
         "function": "ModuleRef.optimize\n",
         "id": "6043330849217052524"
        },
        {
         "args": [
          "6043330849217052524"
         ],
         "function": "ExecutionEngine.create\n",
         "id": "6798092180823188152"
        },
        {
         "args": [
          "6798092180823188152",
          "6806303904774431906"
         ],
         "function": "ExecutionEngine.get_function_address\n",
         "id": "-5648581227863508545"
        },
        {
         "args": [
          "5294962929150932990",
          "-5648581227863508545"
         ],
         "function": "CFunctionType.__call__\n",
         "id": "-6786196278752720331"
        },
        {
         "args": [
          "854733724262511217"
         ],
         "function": "ExecutionEngine.create\n",
         "id": "7076771242585214084"
        },
        {
         "args": [
          "7076771242585214084",
          "6806303904774431906"
         ],
         "function": "ExecutionEngine.get_function_address\n",
         "id": "5707084714860296399"
        },
        {
         "args": [
          "5294962929150932990",
          "5707084714860296399"
         ],
         "function": "CFunctionType.__call__\n",
         "id": "6108704507281983584"
        },
        {
         "id": "4204236236066846025",
         "repr": "<llvmlite.binding.executionengine.ExecutionEngine object at 0x1277c6f40>",
         "type": "ExecutionEngine"
        },
        {
         "args": [
          "4204236236066846025"
         ],
         "function": "ExecutionEngine.box\n",
         "id": "-133135520381647779"
        },
        {
         "args": [
          "-133135520381647779",
          "6806303904774431906"
         ],
         "function": "ExecutionEngine.get_function_address\n",
         "id": "-8646000508065462949"
        },
        {
         "args": [
          "5294962929150932990",
          "-8646000508065462949"
         ],
         "function": "CFunctionType.__call__\n",
         "id": "-8558431301521666807"
        },
        {
         "id": "-1759195801175109873",
         "repr": "4370792460",
         "type": "int"
        },
        {
         "args": [
          "5294962929150932990",
          "-1759195801175109873"
         ],
         "function": "CFunctionType.__call__\n",
         "id": "-6820449032776078934"
        },
        {
         "id": "-5213402086641655001",
         "repr": "<CFunctionType object at 0x127017ac0>",
         "type": "CFUNCTYPE.<locals>.CFunctionType"
        }
       ],
       "states": {
        "initial": "-7544569675371277540",
        "states": [
         {
          "logs": "",
          "node": "-5019586593618753490",
          "rule": "metadsl_core.function.FunctionTwo.from_fn"
         },
         {
          "logs": "",
          "node": "-2788355527705886893",
          "rule": "metadsl_core.abstraction.Abstraction.from_fn"
         },
         {
          "logs": "",
          "node": "-930643336028134972",
          "rule": "metadsl_core.abstraction.Abstraction.from_fn"
         },
         {
          "label": "pre",
          "logs": "",
          "node": "-930643336028134972",
          "rule": "pre"
         },
         {
          "logs": "",
          "node": "5886586016723971470",
          "rule": "metadsl_llvm.ir_context.llvm_fn_to_from_llvm_fn_2"
         },
         {
          "logs": "",
          "node": "2426738668306125690",
          "rule": "metadsl_core.function.two_unfix"
         },
         {
          "logs": "",
          "node": "156100273141255803",
          "rule": "metadsl_core.abstraction.Abstraction.from_fn"
         },
         {
          "logs": "",
          "node": "8628657531160297674",
          "rule": "metadsl_core.function.two_abstraction"
         },
         {
          "logs": "",
          "node": "9132669083728491155",
          "rule": "metadsl_core.abstraction.Abstraction.from_fn"
         },
         {
          "logs": "",
          "node": "-1394391032843183698",
          "rule": "metadsl_core.abstraction.Abstraction.from_fn"
         },
         {
          "logs": "",
          "node": "-913758672066533895",
          "rule": "metadsl_core.abstraction.unfix_normal"
         },
         {
          "logs": "",
          "node": "2151123622050638312",
          "rule": "metadsl_core.abstraction.Abstraction.from_fn"
         },
         {
          "logs": "",
          "node": "-2081876873245125389",
          "rule": "metadsl_core.abstraction.beta_reduce"
         },
         {
          "logs": "",
          "node": "1286210617869571187",
          "rule": "metadsl_core.function.two_name"
         },
         {
          "logs": "",
          "node": "-1354535539868343626",
          "rule": "metadsl_core.abstraction.beta_reduce"
         },
         {
          "logs": "",
          "node": "-7905984427308538627",
          "rule": "metadsl_core.function.two_call"
         },
         {
          "logs": "",
          "node": "-4119838992973478788",
          "rule": "metadsl_core.abstraction.beta_reduce"
         },
         {
          "logs": "",
          "node": "-8022234220835923176",
          "rule": "metadsl_core.abstraction.beta_reduce"
         },
         {
          "logs": "",
          "node": "7491188868433182843",
          "rule": "metadsl_llvm.ir_context.build_add"
         },
         {
          "logs": "",
          "node": "-5245901371472761258",
          "rule": "metadsl_llvm.ir_context.build_add"
         },
         {
          "logs": "",
          "node": "-2071111991601442015",
          "rule": "metadsl_llvm.ir_context.build_constant"
         },
         {
          "logs": "",
          "node": "-6869867667965491478",
          "rule": "metadsl_core.pair.pair_right"
         },
         {
          "logs": "",
          "node": "6201347518072070885",
          "rule": "metadsl_llvm.ir_context.build_constant"
         },
         {
          "logs": "",
          "node": "113287366078893314",
          "rule": "metadsl_core.pair.pair_right"
         },
         {
          "logs": "",
          "node": "2553384699913666718",
          "rule": "metadsl_core.pair.pair_left"
         },
         {
          "logs": "",
          "node": "1021502995084855687",
          "rule": "metadsl_core.pair.pair_left"
         },
         {
          "logs": "",
          "node": "1168265844924777888",
          "rule": "metadsl_core.pair.pair_left"
         },
         {
          "logs": "",
          "node": "-4631504847853063397",
          "rule": "metadsl_core.pair.pair_right"
         },
         {
          "logs": "",
          "node": "4743857191018809113",
          "rule": "metadsl_llvm.ir_context.build_constant"
         },
         {
          "logs": "",
          "node": "-4715996199302852246",
          "rule": "metadsl_core.pair.pair_right"
         },
         {
          "logs": "",
          "node": "8658624060902819995",
          "rule": "metadsl_core.pair.pair_left"
         },
         {
          "logs": "",
          "node": "-5202876725642697235",
          "rule": "metadsl_core.pair.pair_left"
         },
         {
          "logs": "",
          "node": "-5086356462657671653",
          "rule": "metadsl_core.pair.pair_left"
         },
         {
          "logs": "",
          "node": "-5988491255728222316",
          "rule": "metadsl_core.pair.pair_right"
         },
         {
          "logs": "",
          "node": "-5810529754943189185",
          "rule": "metadsl_core.pair.pair_right"
         },
         {
          "logs": "",
          "node": "5645337383557515900",
          "rule": "metadsl_core.pair.pair_left"
         },
         {
          "logs": "",
          "node": "-6919493787481518663",
          "rule": "metadsl_core.pair.pair_left"
         },
         {
          "logs": "",
          "node": "-3522698397710256046",
          "rule": "metadsl_llvm.ir.fn_add_block"
         },
         {
          "logs": "",
          "node": "-4682007217505606731",
          "rule": "metadsl_llvm.ir_context.to_from_llvm_fn_1[1]"
         },
         {
          "logs": "",
          "node": "-4022711592214600058",
          "rule": "metadsl_llvm.ir.fn_ref"
         },
         {
          "label": "llvmlite.context",
          "logs": "",
          "node": "-4022711592214600058",
          "rule": "llvmlite.context"
         },
         {
          "logs": "",
          "node": "-1341249802870673600",
          "rule": "metadsl_llvm.integration.compile_function"
         },
         {
          "logs": "",
          "node": "4116661615998211984",
          "rule": "metadsl_llvm.ir.fn_ref_get_type"
         },
         {
          "logs": "",
          "node": "-8992343331704541651",
          "rule": "metadsl_llvm.integration.llvm_to_c_fn_type_rule"
         },
         {
          "logs": "",
          "node": "-1713872782020011907",
          "rule": "metadsl_llvm.integration.llvm_to_c_fn_int"
         },
         {
          "logs": "",
          "node": "2721796430436125539",
          "rule": "metadsl_llvm.ir.fn_ref_get_name"
         },
         {
          "logs": "",
          "node": "1360987208449411127",
          "rule": "metadsl_llvm.integration.concat_strings"
         },
         {
          "logs": "",
          "node": "-7089261329658232414",
          "rule": "metadsl_llvm.ir.mod_ref"
         },
         {
          "logs": "",
          "node": "-999818507167379704",
          "rule": "metadsl_llvm.ir.mod_add_fn"
         },
         {
          "label": "llvmlite.integration",
          "logs": "",
          "node": "-999818507167379704",
          "rule": "llvmlite.integration"
         },
         {
          "logs": "",
          "node": "6016863737543877720",
          "rule": "metadsl_llvm.ir_llvmlite.box_mod_ref_create"
         },
         {
          "logs": "",
          "node": "-4844812588041245677",
          "rule": "metadsl_llvm.ir_llvmlite.type_create_int_box"
         },
         {
          "logs": "",
          "node": "-7464028114676333008",
          "rule": "metadsl_llvm.ir_llvmlite.function_type_box_2"
         },
         {
          "logs": "",
          "node": "2015437729955776343",
          "rule": "metadsl_llvm.ir_llvmlite.value_constant"
         },
         {
          "logs": "",
          "node": "-2904735076802383405",
          "rule": "metadsl_llvm.ir_llvmlite.box_fn_ref_create"
         },
         {
          "logs": "",
          "node": "5705526864255429749",
          "rule": "metadsl_llvm.ir_llvmlite.box_fn_ref_create"
         },
         {
          "logs": "",
          "node": "8187469883521495923",
          "rule": "metadsl_llvm.ir_llvmlite.block_ref_create"
         },
         {
          "logs": "",
          "node": "-635990140872515928",
          "rule": "metadsl_llvm.ir_llvmlite.fn_ref_arguments"
         },
         {
          "logs": "",
          "node": "-2882256857405778138",
          "rule": "metadsl_llvm.ir_llvmlite.block_ref_create"
         },
         {
          "logs": "",
          "node": "-3117652534798661427",
          "rule": "metadsl_llvm.ir_llvmlite.fn_ref_arguments"
         },
         {
          "logs": "",
          "node": "6721391536030997370",
          "rule": "metadsl_core.vec.getitem"
         },
         {
          "logs": "",
          "node": "-3476404583979063908",
          "rule": "metadsl_core.vec.getitem"
         },
         {
          "logs": "",
          "node": "-3226175549398803512",
          "rule": "metadsl_llvm.ir_llvmlite.builder_add"
         },
         {
          "logs": "",
          "node": "5766317548030036279",
          "rule": "metadsl_llvm.ir_llvmlite.builder_add"
         },
         {
          "logs": "",
          "node": "4959732644872606120",
          "rule": "metadsl_llvm.ir_llvmlite.block_ref_ret"
         },
         {
          "logs": "",
          "node": "-7660547217031557418",
          "rule": "metadsl_llvm.ir_llvmlite.create_box_fn[0]"
         },
         {
          "logs": "",
          "node": "441148786628745106",
          "rule": "metadsl_llvm.ir_llvmlite.create_box_fn[1]"
         },
         {
          "logs": "",
          "node": "-8650430477847290020",
          "rule": "metadsl_llvm.ir_llvmlite.block_ref_call_2"
         },
         {
          "logs": "",
          "node": "-7550566799044451848",
          "rule": "metadsl_llvm.ir_llvmlite.block_ref_ret"
         },
         {
          "logs": "",
          "node": "-8363099449071216883",
          "rule": "metadsl_llvm.ir_llvmlite.create_box_fn[0]"
         },
         {
          "logs": "",
          "node": "-2919567429423777224",
          "rule": "metadsl_llvm.ir_llvmlite.create_box_fn[1]"
         },
         {
          "logs": "",
          "node": "7476598601990581866",
          "rule": "metadsl_llvm.ir_llvmlite.create_box_mod[0]"
         },
         {
          "logs": "",
          "node": "-3985457603794740432",
          "rule": "metadsl_llvm.ir_llvmlite.create_box_mod[0]"
         },
         {
          "logs": "",
          "node": "5760499326501589971",
          "rule": "metadsl_llvm.ir_llvmlite.create_box_mod[1]"
         },
         {
          "logs": "",
          "node": "-5296320422260117959",
          "rule": "metadsl_llvm.ir_llvmlite.mod_str_rule"
         },
         {
          "label": "llvmlite.ir_llvmlite",
          "logs": "",
          "node": "-5296320422260117959",
          "rule": "llvmlite.ir_llvmlite"
         },
         {
          "logs": "",
          "node": "-446054625915039273",
          "rule": "metadsl_llvm.ctypes.ctype_cint"
         },
         {
          "logs": "",
          "node": "6848375383423060400",
          "rule": "metadsl_llvm.ctypes.c_function_type_create_2"
         },
         {
          "label": "llvmlite.ctypes",
          "logs": "",
          "node": "6848375383423060400",
          "rule": "llvmlite.ctypes"
         },
         {
          "logs": "",
          "node": "-6786196278752720331",
          "rule": "metadsl_llvm.llvmlite_binding.module_ref_create"
         },
         {
          "logs": "",
          "node": "6108704507281983584",
          "rule": "metadsl_llvm.llvmlite_binding.module_ref_optimize"
         },
         {
          "logs": "",
          "node": "-8558431301521666807",
          "rule": "metadsl_llvm.llvmlite_binding.execution_engine_create"
         },
         {
          "logs": "",
          "node": "-6820449032776078934",
          "rule": "metadsl_llvm.llvmlite_binding.execution_engine_address"
         },
         {
          "logs": "",
          "node": "-5213402086641655001",
          "rule": "metadsl_llvm.ctypes.cfunc_call"
         },
         {
          "label": "llvmlite.llvmlite_binding",
          "logs": "",
          "node": "-5213402086641655001",
          "rule": "llvmlite.llvmlite_binding"
         }
        ]
       }
      },
      "text/plain": [
       "Typez(definitions=None, nodes=[PrimitiveNode(id='620784253559051387', type='str', repr='add'), PrimitiveNode(id='3897048290446240432', type='function', repr='<function add at 0x1124b00d0>'), PrimitiveNode(id='-5076811030180719980', type='int', repr='32'), PrimitiveNode(id='-4262466165513757285', type='int', repr='1'), CallNode(id='-1259645767813234200', function='ModRef.create\\n', type_params=None, args=['620784253559051387'], kwargs=None), CallNode(id='4216686198697142956', function='FunctionTwo.from_fn\\n', type_params=None, args=['3897048290446240432'], kwargs=None), CallNode(id='896411822270447236', function='Type.create_int\\n', type_params=None, args=['-5076811030180719980'], kwargs=None), CallNode(id='6920011226272107764', function='FnType.create\\n', type_params=None, args=['896411822270447236', '896411822270447236', '896411822270447236'], kwargs=None), CallNode(id='900348640671044205', function='llvm_fn_2\\n', type_params=None, args=['4216686198697142956', '-1259645767813234200', '6920011226272107764'], kwargs=None), CallNode(id='8402243721768722821', function='to_llvm_fn_2\\n', type_params=None, args=['900348640671044205'], kwargs=None), CallNode(id='-1314114168243043537', function='ModRef.mod\\n', type_params=None, args=['-1259645767813234200', '8402243721768722821'], kwargs=None), CallNode(id='-1518106505114955544', function='Fn.ref\\n', type_params=None, args=['8402243721768722821'], kwargs=None), CallNode(id='-7544569675371277540', function='compile_function\\n', type_params=None, args=['-1314114168243043537', '-1518106505114955544', '-4262466165513757285'], kwargs=None), PrimitiveNode(id='7781026350250794067', type='FunctionReplaceTyping', repr=\"FunctionReplaceTyping(fn=<function FunctionTwo.from_fn.<locals>.inner at 0x126f9e700>, typevars=HashableMapping({~U=<class 'metadsl_llvm.ir_context.ValueExpr'>, ~T=<class 'metadsl_llvm.ir_context.ValueExpr'>, ~V=<class 'metadsl_llvm.ir_context.ValueExpr'>}), typevars_in_scope=frozenset({~U, ~U, ~T, ~V, ~T}))\"), CallNode(id='969828299519897916', function='Abstraction.from_fn\\n', type_params=None, args=['7781026350250794067'], kwargs=None), CallNode(id='-1155384131026903607', function='FunctionTwo.create\\n', type_params={'V': DeclaredTypeInstance(type='ValueExpr', params=None), 'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}, args=['620784253559051387', '969828299519897916'], kwargs=None), CallNode(id='-6558361801548018885', function='llvm_fn_2\\n', type_params=None, args=['-1155384131026903607', '-1259645767813234200', '6920011226272107764'], kwargs=None), CallNode(id='4196253843142668692', function='to_llvm_fn_2\\n', type_params=None, args=['-6558361801548018885'], kwargs=None), CallNode(id='6682980609559048028', function='ModRef.mod\\n', type_params=None, args=['-1259645767813234200', '4196253843142668692'], kwargs=None), CallNode(id='1950723808415925704', function='Fn.ref\\n', type_params=None, args=['4196253843142668692'], kwargs=None), CallNode(id='-5019586593618753490', function='compile_function\\n', type_params=None, args=['6682980609559048028', '1950723808415925704', '-4262466165513757285'], kwargs=None), PrimitiveNode(id='8392303961884047179', type='Variable', repr='0x126f09100'), PrimitiveNode(id='-34611391040375365', type='FunctionReplaceTyping', repr=\"FunctionReplaceTyping(fn=<function FunctionTwo.from_fn.<locals>.inner.<locals>.inner at 0x126f9ea60>, typevars=HashableMapping({~U=<class 'metadsl_llvm.ir_context.ValueExpr'>, ~T=<class 'metadsl_llvm.ir_context.ValueExpr'>, ~V=<class 'metadsl_llvm.ir_context.ValueExpr'>}), typevars_in_scope=frozenset({~U, ~U, ~T, ~V, ~T}))\"), CallNode(id='8423160141067014784', function='Abstraction.create_variable\\n', type_params={'U': DeclaredTypeInstance(type='Abstraction', params={'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}, args=['8392303961884047179'], kwargs=None), CallNode(id='9084297116310206711', function='Abstraction.from_fn\\n', type_params=None, args=['-34611391040375365'], kwargs=None), CallNode(id='8289950312094059178', function='Abstraction.create\\n', type_params={'U': DeclaredTypeInstance(type='Abstraction', params={'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}, args=['8423160141067014784', '9084297116310206711'], kwargs=None), CallNode(id='-3178570436328905759', function='FunctionTwo.create\\n', type_params={'V': DeclaredTypeInstance(type='ValueExpr', params=None), 'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}, args=['620784253559051387', '8289950312094059178'], kwargs=None), CallNode(id='-8212509432591171867', function='llvm_fn_2\\n', type_params=None, args=['-3178570436328905759', '-1259645767813234200', '6920011226272107764'], kwargs=None), CallNode(id='2037650416532720781', function='to_llvm_fn_2\\n', type_params=None, args=['-8212509432591171867'], kwargs=None), CallNode(id='-1886862411071738266', function='ModRef.mod\\n', type_params=None, args=['-1259645767813234200', '2037650416532720781'], kwargs=None), CallNode(id='5613029962772109244', function='Fn.ref\\n', type_params=None, args=['2037650416532720781'], kwargs=None), CallNode(id='-2788355527705886893', function='compile_function\\n', type_params=None, args=['-1886862411071738266', '5613029962772109244', '-4262466165513757285'], kwargs=None), PrimitiveNode(id='-5858181185819418459', type='Variable', repr='0x126f090a0'), CallNode(id='-6364977314004511193', function='Abstraction.create_variable\\n', type_params={'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}, args=['-5858181185819418459'], kwargs=None), CallNode(id='-8939903496300395032', function='ValueExpr.__add__\\n', type_params=None, args=['8423160141067014784', '-6364977314004511193'], kwargs=None), CallNode(id='3517026737124413055', function='Value.constant\\n', type_params=None, args=['896411822270447236', '-4262466165513757285'], kwargs=None), CallNode(id='-3412638507357442443', function='ValueExpr.from_value\\n', type_params=None, args=['3517026737124413055'], kwargs=None), CallNode(id='-4108499135143038352', function='ValueExpr.__add__\\n', type_params=None, args=['-8939903496300395032', '-3412638507357442443'], kwargs=None), CallNode(id='8245274598728381546', function='Abstraction.create\\n', type_params={'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}, args=['-6364977314004511193', '-4108499135143038352'], kwargs=None), CallNode(id='-2759534131045922131', function='Abstraction.create\\n', type_params={'U': DeclaredTypeInstance(type='Abstraction', params={'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}, args=['8423160141067014784', '8245274598728381546'], kwargs=None), CallNode(id='-7483102845107297537', function='FunctionTwo.create\\n', type_params={'V': DeclaredTypeInstance(type='ValueExpr', params=None), 'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}, args=['620784253559051387', '-2759534131045922131'], kwargs=None), CallNode(id='6519690973665563379', function='llvm_fn_2\\n', type_params=None, args=['-7483102845107297537', '-1259645767813234200', '6920011226272107764'], kwargs=None), CallNode(id='-4728324438507038673', function='to_llvm_fn_2\\n', type_params=None, args=['6519690973665563379'], kwargs=None), CallNode(id='5502144708012483519', function='ModRef.mod\\n', type_params=None, args=['-1259645767813234200', '-4728324438507038673'], kwargs=None), CallNode(id='6387556872012279810', function='Fn.ref\\n', type_params=None, args=['-4728324438507038673'], kwargs=None), CallNode(id='-930643336028134972', function='compile_function\\n', type_params=None, args=['5502144708012483519', '6387556872012279810', '-4262466165513757285'], kwargs=None), PrimitiveNode(id='8314187887841895722', type='str', repr='fastcc'), PrimitiveNode(id='-3318752011457938249', type='int', repr='0'), PrimitiveNode(id='2174576262982190149', type='bool', repr='True'), PrimitiveNode(id='-8647664536320713804', type='NoneType', repr='None'), PrimitiveNode(id='2608332961566761191', type='_Uniq', repr='4952224960'), CallNode(id='-7137755224053718221', function='Integer.from_int\\n', type_params=None, args=['-4262466165513757285'], kwargs=None), CallNode(id='8201783764071103985', function='Integer.from_int\\n', type_params=None, args=['-3318752011457938249'], kwargs=None), CallNode(id='8320059416467095509', function='FunctionTwo.unfix\\n', type_params={'V': DeclaredTypeInstance(type='ValueExpr', params=None), 'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}, args=['-7483102845107297537'], kwargs=None), CallNode(id='-8588064480652455713', function='FunctionTwo.name\\n', type_params={'V': DeclaredTypeInstance(type='ValueExpr', params=None), 'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}, args=['-7483102845107297537'], kwargs=None), CallNode(id='-461757392959556412', function='ModRef.fn\\n', type_params=None, args=['-1259645767813234200', '-8588064480652455713', '6920011226272107764', '8314187887841895722'], kwargs=None), CallNode(id='1779571658951237151', function='FnRef.fn\\n', type_params=None, args=['-461757392959556412'], kwargs=None), CallNode(id='-5134625155791408300', function='FnRef.arguments\\n', type_params=None, args=['-461757392959556412'], kwargs=None), CallNode(id='3316780063223336526', function='FnRef._block\\n', type_params=None, args=['-461757392959556412', '2174576262982190149', '-8647664536320713804', '2608332961566761191'], kwargs=None), CallNode(id='-1653864567677501261', function='from_llvm_fn_2\\n', type_params=None, args=['1779571658951237151'], kwargs=None), CallNode(id='-8652182413204583090', function='Vec.__getitem__\\n', type_params={'T': DeclaredTypeInstance(type='Value', params=None)}, args=['-5134625155791408300', '8201783764071103985'], kwargs=None), CallNode(id='4814462457487505855', function='Vec.__getitem__\\n', type_params={'T': DeclaredTypeInstance(type='Value', params=None)}, args=['-5134625155791408300', '-7137755224053718221'], kwargs=None), CallNode(id='1858901617407417543', function='Pair.create\\n', type_params=None, args=['3316780063223336526', '1779571658951237151'], kwargs=None), CallNode(id='1162557507180442454', function='Abstraction.__call__\\n', type_params={'U': DeclaredTypeInstance(type='FunctionTwo', params={'V': DeclaredTypeInstance(type='ValueExpr', params=None), 'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}), 'T': DeclaredTypeInstance(type='FunctionTwo', params={'V': DeclaredTypeInstance(type='ValueExpr', params=None), 'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)})}, args=['8320059416467095509', '-1653864567677501261'], kwargs=None), CallNode(id='5719487294829646472', function='ValueExpr.from_value\\n', type_params=None, args=['-8652182413204583090'], kwargs=None), CallNode(id='1210251829708405986', function='ValueExpr.from_value\\n', type_params=None, args=['4814462457487505855'], kwargs=None), CallNode(id='5459579062888782423', function='FunctionTwo.__call__\\n', type_params={'V': DeclaredTypeInstance(type='ValueExpr', params=None), 'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}, args=['1162557507180442454', '5719487294829646472', '1210251829708405986'], kwargs=None), CallNode(id='-5411004233649803351', function='ValueExpr.build\\n', type_params=None, args=['5459579062888782423', '1858901617407417543'], kwargs=None), CallNode(id='-8664485237187706614', function='Pair.right\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['-5411004233649803351'], kwargs=None), CallNode(id='-2407972428289166087', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['-5411004233649803351'], kwargs=None), CallNode(id='-1308461549846248659', function='Pair.right\\n', type_params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}, args=['-8664485237187706614'], kwargs=None), CallNode(id='2184131738873329801', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}, args=['-8664485237187706614'], kwargs=None), CallNode(id='-4538652332624852374', function='BlockRef.ret\\n', type_params=None, args=['2184131738873329801', '-2407972428289166087'], kwargs=None), CallNode(id='-4823649207031685866', function='Fn.add_block\\n', type_params=None, args=['-1308461549846248659', '-4538652332624852374'], kwargs=None), CallNode(id='8290857942544452260', function='from_llvm_fn_2\\n', type_params=None, args=['-4823649207031685866'], kwargs=None), CallNode(id='-3559127852109039477', function='to_llvm_fn_2\\n', type_params=None, args=['8290857942544452260'], kwargs=None), CallNode(id='109726548373717123', function='ModRef.mod\\n', type_params=None, args=['-1259645767813234200', '-3559127852109039477'], kwargs=None), CallNode(id='-9031249606127807262', function='Fn.ref\\n', type_params=None, args=['-3559127852109039477'], kwargs=None), CallNode(id='5886586016723971470', function='compile_function\\n', type_params=None, args=['109726548373717123', '-9031249606127807262', '-4262466165513757285'], kwargs=None), PrimitiveNode(id='-3926018243682827708', type='FunctionReplaceTyping', repr=\"FunctionReplaceTyping(fn=<function two_unfix.<locals>.result.<locals>.inner at 0x126f9edc0>, typevars=HashableMapping({~V=<class 'metadsl_llvm.ir_context.ValueExpr'>, ~U=<class 'metadsl_llvm.ir_context.ValueExpr'>, ~T=<class 'metadsl_llvm.ir_context.ValueExpr'>}), typevars_in_scope=frozenset({~U, ~U, ~T, ~V, ~T}))\"), CallNode(id='-5560233106481024943', function='Abstraction.from_fn\\n', type_params=None, args=['-3926018243682827708'], kwargs=None), CallNode(id='7387976992633380041', function='Abstraction.__call__\\n', type_params={'U': DeclaredTypeInstance(type='FunctionTwo', params={'V': DeclaredTypeInstance(type='ValueExpr', params=None), 'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}), 'T': DeclaredTypeInstance(type='FunctionTwo', params={'V': DeclaredTypeInstance(type='ValueExpr', params=None), 'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)})}, args=['-5560233106481024943', '-1653864567677501261'], kwargs=None), CallNode(id='-3618226518628868211', function='FunctionTwo.__call__\\n', type_params={'V': DeclaredTypeInstance(type='ValueExpr', params=None), 'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}, args=['7387976992633380041', '5719487294829646472', '1210251829708405986'], kwargs=None), CallNode(id='-766098449892587979', function='ValueExpr.build\\n', type_params=None, args=['-3618226518628868211', '1858901617407417543'], kwargs=None), CallNode(id='-3046250276843449561', function='Pair.right\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['-766098449892587979'], kwargs=None), CallNode(id='3210262532055090966', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['-766098449892587979'], kwargs=None), CallNode(id='-2563764883332324530', function='Pair.right\\n', type_params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}, args=['-3046250276843449561'], kwargs=None), CallNode(id='7931185807477580593', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}, args=['-3046250276843449561'], kwargs=None), CallNode(id='8323009805353103129', function='BlockRef.ret\\n', type_params=None, args=['7931185807477580593', '3210262532055090966'], kwargs=None), CallNode(id='5538540579901667027', function='Fn.add_block\\n', type_params=None, args=['-2563764883332324530', '8323009805353103129'], kwargs=None), CallNode(id='-4950456552374698241', function='from_llvm_fn_2\\n', type_params=None, args=['5538540579901667027'], kwargs=None), CallNode(id='2169824716273828137', function='to_llvm_fn_2\\n', type_params=None, args=['-4950456552374698241'], kwargs=None), CallNode(id='5126444757818636687', function='ModRef.mod\\n', type_params=None, args=['-1259645767813234200', '2169824716273828137'], kwargs=None), CallNode(id='5542716183368363860', function='Fn.ref\\n', type_params=None, args=['2169824716273828137'], kwargs=None), CallNode(id='2426738668306125690', function='compile_function\\n', type_params=None, args=['5126444757818636687', '5542716183368363860', '-4262466165513757285'], kwargs=None), PrimitiveNode(id='524343809873345348', type='Variable', repr='0x126eb3850'), CallNode(id='-4193411726557209594', function='Abstraction.create_variable\\n', type_params={'U': DeclaredTypeInstance(type='FunctionTwo', params={'V': DeclaredTypeInstance(type='ValueExpr', params=None), 'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}), 'T': DeclaredTypeInstance(type='FunctionTwo', params={'V': DeclaredTypeInstance(type='ValueExpr', params=None), 'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)})}, args=['524343809873345348'], kwargs=None), CallNode(id='-5208816532917073243', function='FunctionTwo.abstraction\\n', type_params={'V': DeclaredTypeInstance(type='ValueExpr', params=None), 'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}, args=['-4193411726557209594'], kwargs=None), CallNode(id='-6181428666859213178', function='Abstraction.unfix\\n', type_params={'U': DeclaredTypeInstance(type='Abstraction', params={'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}, args=['-2759534131045922131'], kwargs=None), CallNode(id='-7336164047438672884', function='Abstraction.__call__\\n', type_params={'U': DeclaredTypeInstance(type='Abstraction', params={'U': DeclaredTypeInstance(type='Abstraction', params={'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}), 'T': DeclaredTypeInstance(type='Abstraction', params={'U': DeclaredTypeInstance(type='Abstraction', params={'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)})}, args=['-6181428666859213178', '-5208816532917073243'], kwargs=None), CallNode(id='-2727587776759222210', function='FunctionTwo.create\\n', type_params=None, args=['620784253559051387', '-7336164047438672884'], kwargs=None), CallNode(id='-678187006583777347', function='Abstraction.create\\n', type_params={'U': DeclaredTypeInstance(type='FunctionTwo', params={'V': DeclaredTypeInstance(type='ValueExpr', params=None), 'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}), 'T': DeclaredTypeInstance(type='FunctionTwo', params={'V': DeclaredTypeInstance(type='ValueExpr', params=None), 'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)})}, args=['-4193411726557209594', '-2727587776759222210'], kwargs=None), CallNode(id='-6933259972052455385', function='Abstraction.__call__\\n', type_params={'U': DeclaredTypeInstance(type='FunctionTwo', params={'V': DeclaredTypeInstance(type='ValueExpr', params=None), 'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}), 'T': DeclaredTypeInstance(type='FunctionTwo', params={'V': DeclaredTypeInstance(type='ValueExpr', params=None), 'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)})}, args=['-678187006583777347', '-1653864567677501261'], kwargs=None), CallNode(id='-2756380957212302825', function='FunctionTwo.__call__\\n', type_params={'V': DeclaredTypeInstance(type='ValueExpr', params=None), 'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}, args=['-6933259972052455385', '5719487294829646472', '1210251829708405986'], kwargs=None), CallNode(id='-666703006336315881', function='ValueExpr.build\\n', type_params=None, args=['-2756380957212302825', '1858901617407417543'], kwargs=None), CallNode(id='3215955037753549470', function='Pair.right\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['-666703006336315881'], kwargs=None), CallNode(id='-8974276227057461619', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['-666703006336315881'], kwargs=None), CallNode(id='6467902982217845844', function='Pair.right\\n', type_params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}, args=['3215955037753549470'], kwargs=None), CallNode(id='2914466982302567479', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}, args=['3215955037753549470'], kwargs=None), CallNode(id='823191454363024749', function='BlockRef.ret\\n', type_params=None, args=['2914466982302567479', '-8974276227057461619'], kwargs=None), CallNode(id='-1439507935449010960', function='Fn.add_block\\n', type_params=None, args=['6467902982217845844', '823191454363024749'], kwargs=None), CallNode(id='2793206887393348988', function='from_llvm_fn_2\\n', type_params=None, args=['-1439507935449010960'], kwargs=None), CallNode(id='5652180739958331655', function='to_llvm_fn_2\\n', type_params=None, args=['2793206887393348988'], kwargs=None), CallNode(id='3565135955218654309', function='ModRef.mod\\n', type_params=None, args=['-1259645767813234200', '5652180739958331655'], kwargs=None), CallNode(id='-8378791051066699881', function='Fn.ref\\n', type_params=None, args=['5652180739958331655'], kwargs=None), CallNode(id='156100273141255803', function='compile_function\\n', type_params=None, args=['3565135955218654309', '-8378791051066699881', '-4262466165513757285'], kwargs=None), PrimitiveNode(id='1419182277978362495', type='FunctionReplaceTyping', repr=\"FunctionReplaceTyping(fn=<function two_abstraction.<locals>.<lambda>.<locals>.<lambda> at 0x126f9ed30>, typevars=HashableMapping({~V=<class 'metadsl_llvm.ir_context.ValueExpr'>, ~U=<class 'metadsl_llvm.ir_context.ValueExpr'>, ~T=<class 'metadsl_llvm.ir_context.ValueExpr'>}), typevars_in_scope=frozenset({~U, ~U, ~T, ~V, ~T}))\"), CallNode(id='-5108730635979775449', function='Abstraction.from_fn\\n', type_params={'U': DeclaredTypeInstance(type='Abstraction', params={'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}, args=['1419182277978362495'], kwargs=None), CallNode(id='6066438578809428716', function='Abstraction.__call__\\n', type_params={'U': DeclaredTypeInstance(type='Abstraction', params={'U': DeclaredTypeInstance(type='Abstraction', params={'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}), 'T': DeclaredTypeInstance(type='Abstraction', params={'U': DeclaredTypeInstance(type='Abstraction', params={'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)})}, args=['-6181428666859213178', '-5108730635979775449'], kwargs=None), CallNode(id='6157100402765227174', function='FunctionTwo.create\\n', type_params=None, args=['620784253559051387', '6066438578809428716'], kwargs=None), CallNode(id='8156594478905977671', function='Abstraction.create\\n', type_params={'U': DeclaredTypeInstance(type='FunctionTwo', params={'V': DeclaredTypeInstance(type='ValueExpr', params=None), 'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}), 'T': DeclaredTypeInstance(type='FunctionTwo', params={'V': DeclaredTypeInstance(type='ValueExpr', params=None), 'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)})}, args=['-4193411726557209594', '6157100402765227174'], kwargs=None), CallNode(id='1232597184941165988', function='Abstraction.__call__\\n', type_params={'U': DeclaredTypeInstance(type='FunctionTwo', params={'V': DeclaredTypeInstance(type='ValueExpr', params=None), 'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}), 'T': DeclaredTypeInstance(type='FunctionTwo', params={'V': DeclaredTypeInstance(type='ValueExpr', params=None), 'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)})}, args=['8156594478905977671', '-1653864567677501261'], kwargs=None), CallNode(id='2196775888721031188', function='FunctionTwo.__call__\\n', type_params={'V': DeclaredTypeInstance(type='ValueExpr', params=None), 'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}, args=['1232597184941165988', '5719487294829646472', '1210251829708405986'], kwargs=None), CallNode(id='4587550200416264912', function='ValueExpr.build\\n', type_params=None, args=['2196775888721031188', '1858901617407417543'], kwargs=None), CallNode(id='-3917339310100371610', function='Pair.right\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['4587550200416264912'], kwargs=None), CallNode(id='2339173498798168917', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['4587550200416264912'], kwargs=None), CallNode(id='8880518711889833980', function='Pair.right\\n', type_params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}, args=['-3917339310100371610'], kwargs=None), CallNode(id='928725328990187487', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}, args=['-3917339310100371610'], kwargs=None), CallNode(id='7332002557512598090', function='BlockRef.ret\\n', type_params=None, args=['928725328990187487', '2339173498798168917'], kwargs=None), CallNode(id='2585361922962288783', function='Fn.add_block\\n', type_params=None, args=['8880518711889833980', '7332002557512598090'], kwargs=None), CallNode(id='6752154802560945423', function='from_llvm_fn_2\\n', type_params=None, args=['2585361922962288783'], kwargs=None), CallNode(id='-152232706340629240', function='to_llvm_fn_2\\n', type_params=None, args=['6752154802560945423'], kwargs=None), CallNode(id='-2114882858566969822', function='ModRef.mod\\n', type_params=None, args=['-1259645767813234200', '-152232706340629240'], kwargs=None), CallNode(id='8260532821629543273', function='Fn.ref\\n', type_params=None, args=['-152232706340629240'], kwargs=None), CallNode(id='8628657531160297674', function='compile_function\\n', type_params=None, args=['-2114882858566969822', '8260532821629543273', '-4262466165513757285'], kwargs=None), PrimitiveNode(id='6555696252476242091', type='Variable', repr='0x126f11910'), PrimitiveNode(id='-7509489372596040949', type='FunctionReplaceTyping', repr=\"FunctionReplaceTyping(fn=<function two_abstraction.<locals>.<lambda>.<locals>.<lambda>.<locals>.<lambda> at 0x126f9e670>, typevars=HashableMapping({~V=<class 'metadsl_llvm.ir_context.ValueExpr'>, ~U=<class 'metadsl_llvm.ir_context.ValueExpr'>, ~T=<class 'metadsl_llvm.ir_context.ValueExpr'>}), typevars_in_scope=frozenset({~U, ~U, ~T, ~V, ~T}))\"), CallNode(id='6440782865421602282', function='Abstraction.create_variable\\n', type_params={'U': DeclaredTypeInstance(type='Abstraction', params={'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}, args=['6555696252476242091'], kwargs=None), CallNode(id='-4600249318148425222', function='Abstraction.from_fn\\n', type_params={'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}, args=['-7509489372596040949'], kwargs=None), CallNode(id='-4945556844999716063', function='Abstraction.create\\n', type_params={'U': DeclaredTypeInstance(type='Abstraction', params={'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}, args=['6440782865421602282', '-4600249318148425222'], kwargs=None), CallNode(id='-6131907118572317053', function='Abstraction.__call__\\n', type_params={'U': DeclaredTypeInstance(type='Abstraction', params={'U': DeclaredTypeInstance(type='Abstraction', params={'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}), 'T': DeclaredTypeInstance(type='Abstraction', params={'U': DeclaredTypeInstance(type='Abstraction', params={'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)})}, args=['-6181428666859213178', '-4945556844999716063'], kwargs=None), CallNode(id='-5478880216361187031', function='FunctionTwo.create\\n', type_params=None, args=['620784253559051387', '-6131907118572317053'], kwargs=None), CallNode(id='-1849911097335059202', function='Abstraction.create\\n', type_params={'U': DeclaredTypeInstance(type='FunctionTwo', params={'V': DeclaredTypeInstance(type='ValueExpr', params=None), 'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}), 'T': DeclaredTypeInstance(type='FunctionTwo', params={'V': DeclaredTypeInstance(type='ValueExpr', params=None), 'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)})}, args=['-4193411726557209594', '-5478880216361187031'], kwargs=None), CallNode(id='-5293543938161046761', function='Abstraction.__call__\\n', type_params={'U': DeclaredTypeInstance(type='FunctionTwo', params={'V': DeclaredTypeInstance(type='ValueExpr', params=None), 'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}), 'T': DeclaredTypeInstance(type='FunctionTwo', params={'V': DeclaredTypeInstance(type='ValueExpr', params=None), 'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)})}, args=['-1849911097335059202', '-1653864567677501261'], kwargs=None), CallNode(id='7028144887349935792', function='FunctionTwo.__call__\\n', type_params={'V': DeclaredTypeInstance(type='ValueExpr', params=None), 'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}, args=['-5293543938161046761', '5719487294829646472', '1210251829708405986'], kwargs=None), CallNode(id='3807854513126363094', function='ValueExpr.build\\n', type_params=None, args=['7028144887349935792', '1858901617407417543'], kwargs=None), CallNode(id='699288766394897096', function='Pair.right\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['3807854513126363094'], kwargs=None), CallNode(id='6955801575293437623', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['3807854513126363094'], kwargs=None), CallNode(id='5997360570649413557', function='Pair.right\\n', type_params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}, args=['699288766394897096'], kwargs=None), CallNode(id='-1954432812250232936', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}, args=['699288766394897096'], kwargs=None), CallNode(id='4738425426913166811', function='BlockRef.ret\\n', type_params=None, args=['-1954432812250232936', '6955801575293437623'], kwargs=None), CallNode(id='6605451870637593342', function='Fn.add_block\\n', type_params=None, args=['5997360570649413557', '4738425426913166811'], kwargs=None), CallNode(id='6684343160193969899', function='from_llvm_fn_2\\n', type_params=None, args=['6605451870637593342'], kwargs=None), CallNode(id='-4650540031728650041', function='to_llvm_fn_2\\n', type_params=None, args=['6684343160193969899'], kwargs=None), CallNode(id='-7565972444283442624', function='ModRef.mod\\n', type_params=None, args=['-1259645767813234200', '-4650540031728650041'], kwargs=None), CallNode(id='-5670140381283361601', function='Fn.ref\\n', type_params=None, args=['-4650540031728650041'], kwargs=None), CallNode(id='9132669083728491155', function='compile_function\\n', type_params=None, args=['-7565972444283442624', '-5670140381283361601', '-4262466165513757285'], kwargs=None), PrimitiveNode(id='-1176845498807770389', type='Variable', repr='0x126f21d30'), CallNode(id='-809149904686176510', function='Abstraction.create_variable\\n', type_params={'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}, args=['-1176845498807770389'], kwargs=None), CallNode(id='-875641893297735947', function='FunctionTwo.__call__\\n', type_params={'V': DeclaredTypeInstance(type='ValueExpr', params=None), 'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}, args=['-4193411726557209594', '6440782865421602282', '-809149904686176510'], kwargs=None), CallNode(id='-6305856320007859524', function='Abstraction.create\\n', type_params={'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}, args=['-809149904686176510', '-875641893297735947'], kwargs=None), CallNode(id='-7052613934787510705', function='Abstraction.create\\n', type_params={'U': DeclaredTypeInstance(type='Abstraction', params={'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}, args=['6440782865421602282', '-6305856320007859524'], kwargs=None), CallNode(id='-8184704986846506794', function='Abstraction.__call__\\n', type_params={'U': DeclaredTypeInstance(type='Abstraction', params={'U': DeclaredTypeInstance(type='Abstraction', params={'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}), 'T': DeclaredTypeInstance(type='Abstraction', params={'U': DeclaredTypeInstance(type='Abstraction', params={'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)})}, args=['-6181428666859213178', '-7052613934787510705'], kwargs=None), CallNode(id='-1556693699410992665', function='FunctionTwo.create\\n', type_params=None, args=['620784253559051387', '-8184704986846506794'], kwargs=None), CallNode(id='3903615009012569176', function='Abstraction.create\\n', type_params={'U': DeclaredTypeInstance(type='FunctionTwo', params={'V': DeclaredTypeInstance(type='ValueExpr', params=None), 'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}), 'T': DeclaredTypeInstance(type='FunctionTwo', params={'V': DeclaredTypeInstance(type='ValueExpr', params=None), 'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)})}, args=['-4193411726557209594', '-1556693699410992665'], kwargs=None), CallNode(id='475844665005593856', function='Abstraction.__call__\\n', type_params={'U': DeclaredTypeInstance(type='FunctionTwo', params={'V': DeclaredTypeInstance(type='ValueExpr', params=None), 'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}), 'T': DeclaredTypeInstance(type='FunctionTwo', params={'V': DeclaredTypeInstance(type='ValueExpr', params=None), 'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)})}, args=['3903615009012569176', '-1653864567677501261'], kwargs=None), CallNode(id='-8366281759061388464', function='FunctionTwo.__call__\\n', type_params={'V': DeclaredTypeInstance(type='ValueExpr', params=None), 'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}, args=['475844665005593856', '5719487294829646472', '1210251829708405986'], kwargs=None), CallNode(id='5984902857381345690', function='ValueExpr.build\\n', type_params=None, args=['-8366281759061388464', '1858901617407417543'], kwargs=None), CallNode(id='-7265162500350708128', function='Pair.right\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['5984902857381345690'], kwargs=None), CallNode(id='-1008649691452167601', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['5984902857381345690'], kwargs=None), CallNode(id='-2599261485937286724', function='Pair.right\\n', type_params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}, args=['-7265162500350708128'], kwargs=None), CallNode(id='-6152697485852565089', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}, args=['-7265162500350708128'], kwargs=None), CallNode(id='-1610628232154645943', function='BlockRef.ret\\n', type_params=None, args=['-6152697485852565089', '-1008649691452167601'], kwargs=None), CallNode(id='110384170638177879', function='Fn.add_block\\n', type_params=None, args=['-2599261485937286724', '-1610628232154645943'], kwargs=None), CallNode(id='7725311127405222322', function='from_llvm_fn_2\\n', type_params=None, args=['110384170638177879'], kwargs=None), CallNode(id='-6633672743976517091', function='to_llvm_fn_2\\n', type_params=None, args=['7725311127405222322'], kwargs=None), CallNode(id='-3454934892752041753', function='ModRef.mod\\n', type_params=None, args=['-1259645767813234200', '-6633672743976517091'], kwargs=None), CallNode(id='-7672180226780249106', function='Fn.ref\\n', type_params=None, args=['-6633672743976517091'], kwargs=None), CallNode(id='-1394391032843183698', function='compile_function\\n', type_params=None, args=['-3454934892752041753', '-7672180226780249106', '-4262466165513757285'], kwargs=None), PrimitiveNode(id='-1763843239211180665', type='FunctionReplaceTyping', repr=\"FunctionReplaceTyping(fn=<function unfix_normal.<locals>.<lambda>.<locals>.<lambda> at 0x126f9eca0>, typevars=HashableMapping({~U=metadsl_core.abstraction.Abstraction[metadsl_llvm.ir_context.ValueExpr, metadsl_llvm.ir_context.ValueExpr], ~T=<class 'metadsl_llvm.ir_context.ValueExpr'>}), typevars_in_scope=frozenset({~U, ~T}))\"), CallNode(id='-2038929150131962984', function='Abstraction.from_fn\\n', type_params={'U': DeclaredTypeInstance(type='Abstraction', params={'U': DeclaredTypeInstance(type='Abstraction', params={'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}), 'T': DeclaredTypeInstance(type='Abstraction', params={'U': DeclaredTypeInstance(type='Abstraction', params={'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)})}, args=['-1763843239211180665'], kwargs=None), CallNode(id='4083665358066025127', function='Abstraction.__call__\\n', type_params={'U': DeclaredTypeInstance(type='Abstraction', params={'U': DeclaredTypeInstance(type='Abstraction', params={'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}), 'T': DeclaredTypeInstance(type='Abstraction', params={'U': DeclaredTypeInstance(type='Abstraction', params={'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)})}, args=['-2038929150131962984', '-7052613934787510705'], kwargs=None), CallNode(id='-5853184667402183776', function='FunctionTwo.create\\n', type_params=None, args=['620784253559051387', '4083665358066025127'], kwargs=None), CallNode(id='501983292604562992', function='Abstraction.create\\n', type_params={'U': DeclaredTypeInstance(type='FunctionTwo', params={'V': DeclaredTypeInstance(type='ValueExpr', params=None), 'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}), 'T': DeclaredTypeInstance(type='FunctionTwo', params={'V': DeclaredTypeInstance(type='ValueExpr', params=None), 'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)})}, args=['-4193411726557209594', '-5853184667402183776'], kwargs=None), CallNode(id='-7584955971295066721', function='Abstraction.__call__\\n', type_params={'U': DeclaredTypeInstance(type='FunctionTwo', params={'V': DeclaredTypeInstance(type='ValueExpr', params=None), 'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}), 'T': DeclaredTypeInstance(type='FunctionTwo', params={'V': DeclaredTypeInstance(type='ValueExpr', params=None), 'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)})}, args=['501983292604562992', '-1653864567677501261'], kwargs=None), CallNode(id='-8990617367584597629', function='FunctionTwo.__call__\\n', type_params={'V': DeclaredTypeInstance(type='ValueExpr', params=None), 'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}, args=['-7584955971295066721', '5719487294829646472', '1210251829708405986'], kwargs=None), CallNode(id='8094356501171119268', function='ValueExpr.build\\n', type_params=None, args=['-8990617367584597629', '1858901617407417543'], kwargs=None), CallNode(id='3253230702856066528', function='Pair.right\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['8094356501171119268'], kwargs=None), CallNode(id='-8937000561954944561', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['8094356501171119268'], kwargs=None), CallNode(id='-2828727962776899736', function='Pair.right\\n', type_params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}, args=['3253230702856066528'], kwargs=None), CallNode(id='7666222728033005387', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}, args=['3253230702856066528'], kwargs=None), CallNode(id='-5657785314441114375', function='BlockRef.ret\\n', type_params=None, args=['7666222728033005387', '-8937000561954944561'], kwargs=None), CallNode(id='-8292543852404370132', function='Fn.add_block\\n', type_params=None, args=['-2828727962776899736', '-5657785314441114375'], kwargs=None), CallNode(id='-2498395314426200810', function='from_llvm_fn_2\\n', type_params=None, args=['-8292543852404370132'], kwargs=None), CallNode(id='3044393765655285486', function='to_llvm_fn_2\\n', type_params=None, args=['-2498395314426200810'], kwargs=None), CallNode(id='912948523261736937', function='ModRef.mod\\n', type_params=None, args=['-1259645767813234200', '3044393765655285486'], kwargs=None), CallNode(id='5682439746747062272', function='Fn.ref\\n', type_params=None, args=['3044393765655285486'], kwargs=None), CallNode(id='-913758672066533895', function='compile_function\\n', type_params=None, args=['912948523261736937', '5682439746747062272', '-4262466165513757285'], kwargs=None), PrimitiveNode(id='6183264728745502130', type='Variable', repr='0x126f63e80'), CallNode(id='6968872528836087189', function='Abstraction.create_variable\\n', type_params={'U': DeclaredTypeInstance(type='Abstraction', params={'U': DeclaredTypeInstance(type='Abstraction', params={'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}), 'T': DeclaredTypeInstance(type='Abstraction', params={'U': DeclaredTypeInstance(type='Abstraction', params={'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)})}, args=['6183264728745502130'], kwargs=None), CallNode(id='-4693440119658704690', function='Abstraction.create\\n', type_params=None, args=['8423160141067014784', '8245274598728381546'], kwargs=None), CallNode(id='-885215349807999254', function='Abstraction.create\\n', type_params={'U': DeclaredTypeInstance(type='Abstraction', params={'U': DeclaredTypeInstance(type='Abstraction', params={'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}), 'T': DeclaredTypeInstance(type='Abstraction', params={'U': DeclaredTypeInstance(type='Abstraction', params={'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)})}, args=['6968872528836087189', '-4693440119658704690'], kwargs=None), CallNode(id='-8603617789406553870', function='Abstraction.__call__\\n', type_params={'U': DeclaredTypeInstance(type='Abstraction', params={'U': DeclaredTypeInstance(type='Abstraction', params={'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}), 'T': DeclaredTypeInstance(type='Abstraction', params={'U': DeclaredTypeInstance(type='Abstraction', params={'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)})}, args=['-885215349807999254', '-7052613934787510705'], kwargs=None), CallNode(id='5333551636385022310', function='FunctionTwo.create\\n', type_params=None, args=['620784253559051387', '-8603617789406553870'], kwargs=None), CallNode(id='-3627496095421218830', function='Abstraction.create\\n', type_params={'U': DeclaredTypeInstance(type='FunctionTwo', params={'V': DeclaredTypeInstance(type='ValueExpr', params=None), 'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}), 'T': DeclaredTypeInstance(type='FunctionTwo', params={'V': DeclaredTypeInstance(type='ValueExpr', params=None), 'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)})}, args=['-4193411726557209594', '5333551636385022310'], kwargs=None), CallNode(id='-3761617788920321418', function='Abstraction.__call__\\n', type_params={'U': DeclaredTypeInstance(type='FunctionTwo', params={'V': DeclaredTypeInstance(type='ValueExpr', params=None), 'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}), 'T': DeclaredTypeInstance(type='FunctionTwo', params={'V': DeclaredTypeInstance(type='ValueExpr', params=None), 'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)})}, args=['-3627496095421218830', '-1653864567677501261'], kwargs=None), CallNode(id='-8530037402013333056', function='FunctionTwo.__call__\\n', type_params={'V': DeclaredTypeInstance(type='ValueExpr', params=None), 'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}, args=['-3761617788920321418', '5719487294829646472', '1210251829708405986'], kwargs=None), CallNode(id='7302065320773238015', function='ValueExpr.build\\n', type_params=None, args=['-8530037402013333056', '1858901617407417543'], kwargs=None), CallNode(id='3817138220966418825', function='Pair.right\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['7302065320773238015'], kwargs=None), CallNode(id='-8373093043844592264', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['7302065320773238015'], kwargs=None), CallNode(id='4072039674430714081', function='Pair.right\\n', type_params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}, args=['3817138220966418825'], kwargs=None), CallNode(id='518603674515435716', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}, args=['3817138220966418825'], kwargs=None), CallNode(id='-7163211044402806733', function='BlockRef.ret\\n', type_params=None, args=['518603674515435716', '-8373093043844592264'], kwargs=None), CallNode(id='8901240150825923150', function='Fn.add_block\\n', type_params=None, args=['4072039674430714081', '-7163211044402806733'], kwargs=None), CallNode(id='7336589250615909551', function='from_llvm_fn_2\\n', type_params=None, args=['8901240150825923150'], kwargs=None), CallNode(id='5744601049694455369', function='to_llvm_fn_2\\n', type_params=None, args=['7336589250615909551'], kwargs=None), CallNode(id='-4138512958905083641', function='ModRef.mod\\n', type_params=None, args=['-1259645767813234200', '5744601049694455369'], kwargs=None), CallNode(id='-7047791362455762473', function='Fn.ref\\n', type_params=None, args=['5744601049694455369'], kwargs=None), CallNode(id='2151123622050638312', function='compile_function\\n', type_params=None, args=['-4138512958905083641', '-7047791362455762473', '-4262466165513757285'], kwargs=None), CallNode(id='1482476953086945657', function='FunctionTwo.create\\n', type_params=None, args=['620784253559051387', '-4693440119658704690'], kwargs=None), CallNode(id='-4683001163757251493', function='Abstraction.create\\n', type_params={'U': DeclaredTypeInstance(type='FunctionTwo', params={'V': DeclaredTypeInstance(type='ValueExpr', params=None), 'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}), 'T': DeclaredTypeInstance(type='FunctionTwo', params={'V': DeclaredTypeInstance(type='ValueExpr', params=None), 'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)})}, args=['-4193411726557209594', '1482476953086945657'], kwargs=None), CallNode(id='-3869561667829194261', function='Abstraction.__call__\\n', type_params={'U': DeclaredTypeInstance(type='FunctionTwo', params={'V': DeclaredTypeInstance(type='ValueExpr', params=None), 'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}), 'T': DeclaredTypeInstance(type='FunctionTwo', params={'V': DeclaredTypeInstance(type='ValueExpr', params=None), 'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)})}, args=['-4683001163757251493', '-1653864567677501261'], kwargs=None), CallNode(id='-68882785387630683', function='FunctionTwo.__call__\\n', type_params={'V': DeclaredTypeInstance(type='ValueExpr', params=None), 'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}, args=['-3869561667829194261', '5719487294829646472', '1210251829708405986'], kwargs=None), CallNode(id='3748653797170495067', function='ValueExpr.build\\n', type_params=None, args=['-68882785387630683', '1858901617407417543'], kwargs=None), CallNode(id='2585117660050598843', function='Pair.right\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['3748653797170495067'], kwargs=None), CallNode(id='8841630468949139370', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['3748653797170495067'], kwargs=None), CallNode(id='-7719725798128900509', function='Pair.right\\n', type_params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}, args=['2585117660050598843'], kwargs=None), CallNode(id='2775224892681004614', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}, args=['2585117660050598843'], kwargs=None), CallNode(id='-1989246816839175616', function='BlockRef.ret\\n', type_params=None, args=['2775224892681004614', '8841630468949139370'], kwargs=None), CallNode(id='-2220993493486142212', function='Fn.add_block\\n', type_params=None, args=['-7719725798128900509', '-1989246816839175616'], kwargs=None), CallNode(id='-6636381390810399915', function='from_llvm_fn_2\\n', type_params=None, args=['-2220993493486142212'], kwargs=None), CallNode(id='8214189055369183126', function='to_llvm_fn_2\\n', type_params=None, args=['-6636381390810399915'], kwargs=None), CallNode(id='-2049819802701113782', function='ModRef.mod\\n', type_params=None, args=['-1259645767813234200', '8214189055369183126'], kwargs=None), CallNode(id='6159151938781735298', function='Fn.ref\\n', type_params=None, args=['8214189055369183126'], kwargs=None), CallNode(id='-2081876873245125389', function='compile_function\\n', type_params=None, args=['-2049819802701113782', '6159151938781735298', '-4262466165513757285'], kwargs=None), CallNode(id='6443065712994965992', function='ModRef.fn\\n', type_params=None, args=['-1259645767813234200', '620784253559051387', '6920011226272107764', '8314187887841895722'], kwargs=None), CallNode(id='706416695086768172', function='FnRef.fn\\n', type_params=None, args=['6443065712994965992'], kwargs=None), CallNode(id='5192934665418817512', function='FnRef.arguments\\n', type_params=None, args=['6443065712994965992'], kwargs=None), CallNode(id='-4287992330114061160', function='FnRef._block\\n', type_params=None, args=['6443065712994965992', '2174576262982190149', '-8647664536320713804', '2608332961566761191'], kwargs=None), CallNode(id='-5345466224683706325', function='from_llvm_fn_2\\n', type_params=None, args=['706416695086768172'], kwargs=None), CallNode(id='-5547643591386393497', function='Vec.__getitem__\\n', type_params={'T': DeclaredTypeInstance(type='Value', params=None)}, args=['5192934665418817512', '8201783764071103985'], kwargs=None), CallNode(id='-5091746245287591819', function='Vec.__getitem__\\n', type_params={'T': DeclaredTypeInstance(type='Value', params=None)}, args=['5192934665418817512', '-7137755224053718221'], kwargs=None), CallNode(id='7661390182722779908', function='Pair.create\\n', type_params=None, args=['-4287992330114061160', '706416695086768172'], kwargs=None), CallNode(id='-6247451503020557520', function='ValueExpr.from_value\\n', type_params=None, args=['-5547643591386393497'], kwargs=None), CallNode(id='6449679795932311913', function='ValueExpr.from_value\\n', type_params=None, args=['-5091746245287591819'], kwargs=None), CallNode(id='-962473519810520610', function='Abstraction.__call__\\n', type_params={'U': DeclaredTypeInstance(type='FunctionTwo', params={'V': DeclaredTypeInstance(type='ValueExpr', params=None), 'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}), 'T': DeclaredTypeInstance(type='FunctionTwo', params={'V': DeclaredTypeInstance(type='ValueExpr', params=None), 'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)})}, args=['-4683001163757251493', '-5345466224683706325'], kwargs=None), CallNode(id='8415142005695346351', function='FunctionTwo.__call__\\n', type_params={'V': DeclaredTypeInstance(type='ValueExpr', params=None), 'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}, args=['-962473519810520610', '-6247451503020557520', '6449679795932311913'], kwargs=None), CallNode(id='9151109164382099388', function='ValueExpr.build\\n', type_params=None, args=['8415142005695346351', '7661390182722779908'], kwargs=None), CallNode(id='-8414785790724478590', function='Pair.right\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['9151109164382099388'], kwargs=None), CallNode(id='-4805944887476426760', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['9151109164382099388'], kwargs=None), CallNode(id='7523864159967891293', function='Pair.right\\n', type_params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}, args=['-8414785790724478590'], kwargs=None), CallNode(id='-427929222931755200', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}, args=['-8414785790724478590'], kwargs=None), CallNode(id='-6190828437816403419', function='BlockRef.ret\\n', type_params=None, args=['-427929222931755200', '-4805944887476426760'], kwargs=None), CallNode(id='-6176552126947298483', function='Fn.add_block\\n', type_params=None, args=['7523864159967891293', '-6190828437816403419'], kwargs=None), CallNode(id='-3495518653317271910', function='from_llvm_fn_2\\n', type_params=None, args=['-6176552126947298483'], kwargs=None), CallNode(id='-5889114966491781041', function='to_llvm_fn_2\\n', type_params=None, args=['-3495518653317271910'], kwargs=None), CallNode(id='6805211310284885991', function='ModRef.mod\\n', type_params=None, args=['-1259645767813234200', '-5889114966491781041'], kwargs=None), CallNode(id='161087582872558244', function='Fn.ref\\n', type_params=None, args=['-5889114966491781041'], kwargs=None), CallNode(id='1286210617869571187', function='compile_function\\n', type_params=None, args=['6805211310284885991', '161087582872558244', '-4262466165513757285'], kwargs=None), CallNode(id='1231303870094808042', function='FunctionTwo.__call__\\n', type_params={'V': DeclaredTypeInstance(type='ValueExpr', params=None), 'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}, args=['1482476953086945657', '-6247451503020557520', '6449679795932311913'], kwargs=None), CallNode(id='6260346829784117084', function='ValueExpr.build\\n', type_params=None, args=['1231303870094808042', '7661390182722779908'], kwargs=None), CallNode(id='-921200779543930016', function='Pair.right\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['6260346829784117084'], kwargs=None), CallNode(id='5335312029354610511', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['6260346829784117084'], kwargs=None), CallNode(id='2954562672018783590', function='Pair.right\\n', type_params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}, args=['-921200779543930016'], kwargs=None), CallNode(id='-598873327896494775', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}, args=['-921200779543930016'], kwargs=None), CallNode(id='6184394641837692468', function='BlockRef.ret\\n', type_params=None, args=['-598873327896494775', '5335312029354610511'], kwargs=None), CallNode(id='8344385443105552226', function='Fn.add_block\\n', type_params=None, args=['2954562672018783590', '6184394641837692468'], kwargs=None), CallNode(id='6735005921999299986', function='from_llvm_fn_2\\n', type_params=None, args=['8344385443105552226'], kwargs=None), CallNode(id='1126175796612838192', function='to_llvm_fn_2\\n', type_params=None, args=['6735005921999299986'], kwargs=None), CallNode(id='-4627095946794730452', function='ModRef.mod\\n', type_params=None, args=['-1259645767813234200', '1126175796612838192'], kwargs=None), CallNode(id='5932342522864904377', function='Fn.ref\\n', type_params=None, args=['1126175796612838192'], kwargs=None), CallNode(id='-1354535539868343626', function='compile_function\\n', type_params=None, args=['-4627095946794730452', '5932342522864904377', '-4262466165513757285'], kwargs=None), CallNode(id='-7861172538110224876', function='Abstraction.__call__\\n', type_params={'U': DeclaredTypeInstance(type='Abstraction', params={'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}, args=['-4693440119658704690', '-6247451503020557520'], kwargs=None), CallNode(id='6232109618386710593', function='Abstraction.__call__\\n', type_params={'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}, args=['-7861172538110224876', '6449679795932311913'], kwargs=None), CallNode(id='-6213560402938479553', function='ValueExpr.build\\n', type_params=None, args=['6232109618386710593', '7661390182722779908'], kwargs=None), CallNode(id='4510825671438231429', function='Pair.right\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['-6213560402938479553'], kwargs=None), CallNode(id='-7679405593372779660', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['-6213560402938479553'], kwargs=None), CallNode(id='8392142833733378421', function='Pair.right\\n', type_params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}, args=['4510825671438231429'], kwargs=None), CallNode(id='7486378739468588753', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}, args=['4510825671438231429'], kwargs=None), CallNode(id='5723554745491765837', function='BlockRef.ret\\n', type_params=None, args=['7486378739468588753', '-7679405593372779660'], kwargs=None), CallNode(id='7888583767485059956', function='Fn.add_block\\n', type_params=None, args=['8392142833733378421', '5723554745491765837'], kwargs=None), CallNode(id='-8876730791041317', function='from_llvm_fn_2\\n', type_params=None, args=['7888583767485059956'], kwargs=None), CallNode(id='-7051267627646886967', function='to_llvm_fn_2\\n', type_params=None, args=['-8876730791041317'], kwargs=None), CallNode(id='-60447665215527086', function='ModRef.mod\\n', type_params=None, args=['-1259645767813234200', '-7051267627646886967'], kwargs=None), CallNode(id='7704782749881237169', function='Fn.ref\\n', type_params=None, args=['-7051267627646886967'], kwargs=None), CallNode(id='-7905984427308538627', function='compile_function\\n', type_params=None, args=['-60447665215527086', '7704782749881237169', '-4262466165513757285'], kwargs=None), CallNode(id='4926447195237232180', function='ValueExpr.__add__\\n', type_params=None, args=['-6247451503020557520', '-6364977314004511193'], kwargs=None), CallNode(id='-5052063144465483251', function='ValueExpr.__add__\\n', type_params=None, args=['4926447195237232180', '-3412638507357442443'], kwargs=None), CallNode(id='472430178121866409', function='Abstraction.create\\n', type_params={'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}, args=['-6364977314004511193', '-5052063144465483251'], kwargs=None), CallNode(id='5512585393057277448', function='Abstraction.__call__\\n', type_params={'U': DeclaredTypeInstance(type='ValueExpr', params=None), 'T': DeclaredTypeInstance(type='ValueExpr', params=None)}, args=['472430178121866409', '6449679795932311913'], kwargs=None), CallNode(id='7014885333375356540', function='ValueExpr.build\\n', type_params=None, args=['5512585393057277448', '7661390182722779908'], kwargs=None), CallNode(id='4044472750994179792', function='Pair.right\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['7014885333375356540'], kwargs=None), CallNode(id='-8145758513816831297', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['7014885333375356540'], kwargs=None), CallNode(id='7115833113154997635', function='Pair.right\\n', type_params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}, args=['4044472750994179792'], kwargs=None), CallNode(id='-835960269744648858', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}, args=['4044472750994179792'], kwargs=None), CallNode(id='-5020677119466865744', function='BlockRef.ret\\n', type_params=None, args=['-835960269744648858', '-8145758513816831297'], kwargs=None), CallNode(id='-724203410373700241', function='Fn.add_block\\n', type_params=None, args=['7115833113154997635', '-5020677119466865744'], kwargs=None), CallNode(id='-612394172748150832', function='from_llvm_fn_2\\n', type_params=None, args=['-724203410373700241'], kwargs=None), CallNode(id='-191978616312897370', function='to_llvm_fn_2\\n', type_params=None, args=['-612394172748150832'], kwargs=None), CallNode(id='7204798067830781350', function='ModRef.mod\\n', type_params=None, args=['-1259645767813234200', '-191978616312897370'], kwargs=None), CallNode(id='830179365115661021', function='Fn.ref\\n', type_params=None, args=['-191978616312897370'], kwargs=None), CallNode(id='-4119838992973478788', function='compile_function\\n', type_params=None, args=['7204798067830781350', '830179365115661021', '-4262466165513757285'], kwargs=None), CallNode(id='-2785804721158780704', function='ValueExpr.__add__\\n', type_params=None, args=['-6247451503020557520', '6449679795932311913'], kwargs=None), CallNode(id='8302087133879342721', function='ValueExpr.__add__\\n', type_params=None, args=['-2785804721158780704', '-3412638507357442443'], kwargs=None), CallNode(id='3481471141871727304', function='ValueExpr.build\\n', type_params=None, args=['8302087133879342721', '7661390182722779908'], kwargs=None), CallNode(id='-1446191468298715010', function='Pair.right\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['3481471141871727304'], kwargs=None), CallNode(id='9208678723584193645', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['3481471141871727304'], kwargs=None), CallNode(id='6670825870103918446', function='Pair.right\\n', type_params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}, args=['-1446191468298715010'], kwargs=None), CallNode(id='3117389870188640081', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}, args=['-1446191468298715010'], kwargs=None), CallNode(id='-4681949158497374961', function='BlockRef.ret\\n', type_params=None, args=['3117389870188640081', '9208678723584193645'], kwargs=None), CallNode(id='7125600595345392395', function='Fn.add_block\\n', type_params=None, args=['6670825870103918446', '-4681949158497374961'], kwargs=None), CallNode(id='849133399441346040', function='from_llvm_fn_2\\n', type_params=None, args=['7125600595345392395'], kwargs=None), CallNode(id='697452116655005000', function='to_llvm_fn_2\\n', type_params=None, args=['849133399441346040'], kwargs=None), CallNode(id='6505631902187262756', function='ModRef.mod\\n', type_params=None, args=['-1259645767813234200', '697452116655005000'], kwargs=None), CallNode(id='648439191719278345', function='Fn.ref\\n', type_params=None, args=['697452116655005000'], kwargs=None), CallNode(id='-8022234220835923176', function='compile_function\\n', type_params=None, args=['6505631902187262756', '648439191719278345', '-4262466165513757285'], kwargs=None), CallNode(id='7063147983490233247', function='ValueExpr.build\\n', type_params=None, args=['-2785804721158780704', '7661390182722779908'], kwargs=None), CallNode(id='6523086495468176575', function='Pair.right\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['7063147983490233247'], kwargs=None), CallNode(id='-5667144769342834514', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['7063147983490233247'], kwargs=None), CallNode(id='3332470793651141239', function='ValueExpr.build\\n', type_params=None, args=['-3412638507357442443', '6523086495468176575'], kwargs=None), CallNode(id='4715771335880019255', function='Pair.right\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['3332470793651141239'], kwargs=None), CallNode(id='-7474459928930991834', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['3332470793651141239'], kwargs=None), CallNode(id='-24059917849955983', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}, args=['4715771335880019255'], kwargs=None), CallNode(id='8223961824554592380', function='BlockRef.add\\n', type_params=None, args=['-24059917849955983', '-5667144769342834514', '-7474459928930991834'], kwargs=None), CallNode(id='-2497541435442703134', function='Pair.create\\n', type_params=None, args=['8223961824554592380', '4715771335880019255'], kwargs=None), CallNode(id='3592829188320456037', function='Pair.right\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['-2497541435442703134'], kwargs=None), CallNode(id='-8597402076490555052', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['-2497541435442703134'], kwargs=None), CallNode(id='3918838911178027141', function='Pair.right\\n', type_params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}, args=['3592829188320456037'], kwargs=None), CallNode(id='365402911262748776', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}, args=['3592829188320456037'], kwargs=None), CallNode(id='1672877745510620893', function='BlockRef.ret\\n', type_params=None, args=['365402911262748776', '-8597402076490555052'], kwargs=None), CallNode(id='-4717071649870334882', function='Fn.add_block\\n', type_params=None, args=['3918838911178027141', '1672877745510620893'], kwargs=None), CallNode(id='3816720164683993179', function='from_llvm_fn_2\\n', type_params=None, args=['-4717071649870334882'], kwargs=None), CallNode(id='-5452050482399354161', function='to_llvm_fn_2\\n', type_params=None, args=['3816720164683993179'], kwargs=None), CallNode(id='-1329013808023360180', function='ModRef.mod\\n', type_params=None, args=['-1259645767813234200', '-5452050482399354161'], kwargs=None), CallNode(id='958890738892343480', function='Fn.ref\\n', type_params=None, args=['-5452050482399354161'], kwargs=None), CallNode(id='7491188868433182843', function='compile_function\\n', type_params=None, args=['-1329013808023360180', '958890738892343480', '-4262466165513757285'], kwargs=None), CallNode(id='-1754516311063537468', function='ValueExpr.build\\n', type_params=None, args=['-6247451503020557520', '7661390182722779908'], kwargs=None), CallNode(id='6317581238471540963', function='Pair.right\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['-1754516311063537468'], kwargs=None), CallNode(id='-5872650026339470126', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['-1754516311063537468'], kwargs=None), CallNode(id='-3074803942069074394', function='ValueExpr.build\\n', type_params=None, args=['6449679795932311913', '6317581238471540963'], kwargs=None), CallNode(id='1976625500476114556', function='Pair.right\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['-3074803942069074394'], kwargs=None), CallNode(id='8233138309374655083', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['-3074803942069074394'], kwargs=None), CallNode(id='-4330156950124401285', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}, args=['1976625500476114556'], kwargs=None), CallNode(id='644772198505936049', function='BlockRef.add\\n', type_params=None, args=['-4330156950124401285', '-5872650026339470126', '8233138309374655083'], kwargs=None), CallNode(id='1437187990359637238', function='Pair.create\\n', type_params=None, args=['644772198505936049', '1976625500476114556'], kwargs=None), CallNode(id='-3837875431115471239', function='Pair.right\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['1437187990359637238'], kwargs=None), CallNode(id='-4627391910851787537', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['1437187990359637238'], kwargs=None), CallNode(id='-7653232569388099106', function='ValueExpr.build\\n', type_params=None, args=['-3412638507357442443', '-3837875431115471239'], kwargs=None), CallNode(id='-9039618814911188620', function='Pair.right\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['-7653232569388099106'], kwargs=None), CallNode(id='-2783106006012648093', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['-7653232569388099106'], kwargs=None), CallNode(id='2565074763385026617', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}, args=['-9039618814911188620'], kwargs=None), CallNode(id='-7790540359546102430', function='BlockRef.add\\n', type_params=None, args=['2565074763385026617', '-4627391910851787537', '-2783106006012648093'], kwargs=None), CallNode(id='-425646771258342619', function='Pair.create\\n', type_params=None, args=['-7790540359546102430', '-9039618814911188620'], kwargs=None), CallNode(id='2359408474488667841', function='Pair.right\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['-425646771258342619'], kwargs=None), CallNode(id='5968249377736719671', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['-425646771258342619'], kwargs=None), CallNode(id='8867093634859286354', function='Pair.right\\n', type_params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}, args=['2359408474488667841'], kwargs=None), CallNode(id='7961329540594496686', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}, args=['2359408474488667841'], kwargs=None), CallNode(id='59038738415053233', function='BlockRef.ret\\n', type_params=None, args=['7961329540594496686', '5968249377736719671'], kwargs=None), CallNode(id='8823795601532587443', function='Fn.add_block\\n', type_params=None, args=['8867093634859286354', '59038738415053233'], kwargs=None), CallNode(id='-7137823681407196887', function='from_llvm_fn_2\\n', type_params=None, args=['8823795601532587443'], kwargs=None), CallNode(id='6418100538270848973', function='to_llvm_fn_2\\n', type_params=None, args=['-7137823681407196887'], kwargs=None), CallNode(id='-4292465768922372239', function='ModRef.mod\\n', type_params=None, args=['-1259645767813234200', '6418100538270848973'], kwargs=None), CallNode(id='3979087939966601307', function='Fn.ref\\n', type_params=None, args=['6418100538270848973'], kwargs=None), CallNode(id='-5245901371472761258', function='compile_function\\n', type_params=None, args=['-4292465768922372239', '3979087939966601307', '-4262466165513757285'], kwargs=None), CallNode(id='-135210808408927640', function='Pair.create\\n', type_params=None, args=['-5547643591386393497', '7661390182722779908'], kwargs=None), CallNode(id='-1346980522514241575', function='Pair.right\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['-135210808408927640'], kwargs=None), CallNode(id='4909532286384298952', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['-135210808408927640'], kwargs=None), CallNode(id='8830653204291844229', function='ValueExpr.build\\n', type_params=None, args=['6449679795932311913', '-1346980522514241575'], kwargs=None), CallNode(id='-6326318237362244308', function='Pair.right\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['8830653204291844229'], kwargs=None), CallNode(id='-69805428463703781', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['8830653204291844229'], kwargs=None), CallNode(id='3140082721402338218', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}, args=['-6326318237362244308'], kwargs=None), CallNode(id='1367069472458406075', function='BlockRef.add\\n', type_params=None, args=['3140082721402338218', '4909532286384298952', '-69805428463703781'], kwargs=None), CallNode(id='71957329232879559', function='Pair.create\\n', type_params=None, args=['1367069472458406075', '-6326318237362244308'], kwargs=None), CallNode(id='-6241339956010707746', function='Pair.right\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['71957329232879559'], kwargs=None), CallNode(id='15172852887832781', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['71957329232879559'], kwargs=None), CallNode(id='7367088684524396308', function='ValueExpr.build\\n', type_params=None, args=['-3412638507357442443', '-6241339956010707746'], kwargs=None), CallNode(id='2473761160811083723', function='Pair.right\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['7367088684524396308'], kwargs=None), CallNode(id='8730273969709624250', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['7367088684524396308'], kwargs=None), CallNode(id='-8388005137937605099', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}, args=['2473761160811083723'], kwargs=None), CallNode(id='966903160254035888', function='BlockRef.add\\n', type_params=None, args=['-8388005137937605099', '15172852887832781', '8730273969709624250'], kwargs=None), CallNode(id='-9222330336358077870', function='Pair.create\\n', type_params=None, args=['966903160254035888', '2473761160811083723'], kwargs=None), CallNode(id='7064361591904116642', function='Pair.right\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['-9222330336358077870'], kwargs=None), CallNode(id='-5125869672906894447', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['-9222330336358077870'], kwargs=None), CallNode(id='-8110339849308189124', function='Pair.right\\n', type_params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}, args=['7064361591904116642'], kwargs=None), CallNode(id='-4617746560588610664', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}, args=['7064361591904116642'], kwargs=None), CallNode(id='3012196590623887451', function='BlockRef.ret\\n', type_params=None, args=['-4617746560588610664', '-5125869672906894447'], kwargs=None), CallNode(id='3315829251771997902', function='Fn.add_block\\n', type_params=None, args=['-8110339849308189124', '3012196590623887451'], kwargs=None), CallNode(id='7984804469939243579', function='from_llvm_fn_2\\n', type_params=None, args=['3315829251771997902'], kwargs=None), CallNode(id='3315816125300395862', function='to_llvm_fn_2\\n', type_params=None, args=['7984804469939243579'], kwargs=None), CallNode(id='-378356886493961760', function='ModRef.mod\\n', type_params=None, args=['-1259645767813234200', '3315816125300395862'], kwargs=None), CallNode(id='6084454620504301750', function='Fn.ref\\n', type_params=None, args=['3315816125300395862'], kwargs=None), CallNode(id='-2071111991601442015', function='compile_function\\n', type_params=None, args=['-378356886493961760', '6084454620504301750', '-4262466165513757285'], kwargs=None), CallNode(id='-2971092027597255333', function='ValueExpr.build\\n', type_params=None, args=['6449679795932311913', '7661390182722779908'], kwargs=None), CallNode(id='1239370228123421345', function='Pair.right\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['-2971092027597255333'], kwargs=None), CallNode(id='7495883037021961872', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['-2971092027597255333'], kwargs=None), CallNode(id='-9132598254115764713', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}, args=['1239370228123421345'], kwargs=None), CallNode(id='3259261877643806764', function='BlockRef.add\\n', type_params=None, args=['-9132598254115764713', '4909532286384298952', '7495883037021961872'], kwargs=None), CallNode(id='8099059169897194627', function='Pair.create\\n', type_params=None, args=['3259261877643806764', '1239370228123421345'], kwargs=None), CallNode(id='6388336521852218832', function='Pair.right\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['8099059169897194627'], kwargs=None), CallNode(id='-5801894742958792257', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['8099059169897194627'], kwargs=None), CallNode(id='-3582038483462340553', function='ValueExpr.build\\n', type_params=None, args=['-3412638507357442443', '6388336521852218832'], kwargs=None), CallNode(id='-1449735195005817147', function='Pair.right\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['-3582038483462340553'], kwargs=None), CallNode(id='4806777613892723380', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['-3582038483462340553'], kwargs=None), CallNode(id='-1191548330798186800', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}, args=['-1449735195005817147'], kwargs=None), CallNode(id='2695581328432904557', function='BlockRef.add\\n', type_params=None, args=['-1191548330798186800', '-5801894742958792257', '4806777613892723380'], kwargs=None), CallNode(id='-5548893733839594966', function='Pair.create\\n', type_params=None, args=['2695581328432904557', '-1449735195005817147'], kwargs=None), CallNode(id='4733178364436638778', function='Pair.right\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['-5548893733839594966'], kwargs=None), CallNode(id='8342019267684690608', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['-5548893733839594966'], kwargs=None), CallNode(id='1763631864574634608', function='Pair.right\\n', type_params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}, args=['4733178364436638778'], kwargs=None), CallNode(id='-6188161518325011885', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}, args=['4733178364436638778'], kwargs=None), CallNode(id='8240328585714791132', function='BlockRef.ret\\n', type_params=None, args=['-6188161518325011885', '8342019267684690608'], kwargs=None), CallNode(id='-2149512271208794407', function='Fn.add_block\\n', type_params=None, args=['1763631864574634608', '8240328585714791132'], kwargs=None), CallNode(id='-8337980690388786236', function='from_llvm_fn_2\\n', type_params=None, args=['-2149512271208794407'], kwargs=None), CallNode(id='-3085671579850182031', function='to_llvm_fn_2\\n', type_params=None, args=['-8337980690388786236'], kwargs=None), CallNode(id='-5476799838848186911', function='ModRef.mod\\n', type_params=None, args=['-1259645767813234200', '-3085671579850182031'], kwargs=None), CallNode(id='2468750439067890202', function='Fn.ref\\n', type_params=None, args=['-3085671579850182031'], kwargs=None), CallNode(id='-6869867667965491478', function='compile_function\\n', type_params=None, args=['-5476799838848186911', '2468750439067890202', '-4262466165513757285'], kwargs=None), CallNode(id='4650343957972239638', function='Pair.create\\n', type_params=None, args=['-5091746245287591819', '7661390182722779908'], kwargs=None), CallNode(id='-8469374591275102774', function='Pair.right\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['4650343957972239638'], kwargs=None), CallNode(id='-2212861782376562247', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['4650343957972239638'], kwargs=None), CallNode(id='-8031483586276878799', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}, args=['-8469374591275102774'], kwargs=None), CallNode(id='-6847620307632701301', function='BlockRef.add\\n', type_params=None, args=['-8031483586276878799', '4909532286384298952', '-2212861782376562247'], kwargs=None), CallNode(id='-8678764225976394916', function='Pair.create\\n', type_params=None, args=['-6847620307632701301', '-8469374591275102774'], kwargs=None), CallNode(id='2472036829607467028', function='Pair.right\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['-8678764225976394916'], kwargs=None), CallNode(id='8728549638506007555', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['-8678764225976394916'], kwargs=None), CallNode(id='1825347648527096799', function='ValueExpr.build\\n', type_params=None, args=['-3412638507357442443', '2472036829607467028'], kwargs=None), CallNode(id='8080072577524471462', function='Pair.right\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['1825347648527096799'], kwargs=None), CallNode(id='288198695697828501', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['1825347648527096799'], kwargs=None), CallNode(id='-6694824488022672963', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}, args=['8080072577524471462'], kwargs=None), CallNode(id='8017045232424933960', function='BlockRef.add\\n', type_params=None, args=['-6694824488022672963', '8728549638506007555', '288198695697828501'], kwargs=None), CallNode(id='-6044121020209358435', function='Pair.create\\n', type_params=None, args=['8017045232424933960', '8080072577524471462'], kwargs=None), CallNode(id='3808235870319330168', function='Pair.right\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['-6044121020209358435'], kwargs=None), CallNode(id='-8381995394491680921', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['-6044121020209358435'], kwargs=None), CallNode(id='-6111084037157299880', function='Pair.right\\n', type_params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}, args=['3808235870319330168'], kwargs=None), CallNode(id='4383866653652605243', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}, args=['3808235870319330168'], kwargs=None), CallNode(id='-1461097022454450493', function='BlockRef.ret\\n', type_params=None, args=['4383866653652605243', '-8381995394491680921'], kwargs=None), CallNode(id='-3985074369865278061', function='Fn.add_block\\n', type_params=None, args=['-6111084037157299880', '-1461097022454450493'], kwargs=None), CallNode(id='838244248723790099', function='from_llvm_fn_2\\n', type_params=None, args=['-3985074369865278061'], kwargs=None), CallNode(id='1863503216922040548', function='to_llvm_fn_2\\n', type_params=None, args=['838244248723790099'], kwargs=None), CallNode(id='3950956323281027277', function='ModRef.mod\\n', type_params=None, args=['-1259645767813234200', '1863503216922040548'], kwargs=None), CallNode(id='3605920709945121026', function='Fn.ref\\n', type_params=None, args=['1863503216922040548'], kwargs=None), CallNode(id='6201347518072070885', function='compile_function\\n', type_params=None, args=['3950956323281027277', '3605920709945121026', '-4262466165513757285'], kwargs=None), CallNode(id='1364037969563277327', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}, args=['7661390182722779908'], kwargs=None), CallNode(id='8662791317300766489', function='BlockRef.add\\n', type_params=None, args=['1364037969563277327', '4909532286384298952', '-2212861782376562247'], kwargs=None), CallNode(id='8455412533861792661', function='Pair.create\\n', type_params=None, args=['8662791317300766489', '7661390182722779908'], kwargs=None), CallNode(id='-2069725913710478192', function='Pair.right\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['8455412533861792661'], kwargs=None), CallNode(id='4186786895188062335', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['8455412533861792661'], kwargs=None), CallNode(id='-6133311656023209083', function='ValueExpr.build\\n', type_params=None, args=['-3412638507357442443', '-2069725913710478192'], kwargs=None), CallNode(id='-8768326066060742139', function='Pair.right\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['-6133311656023209083'], kwargs=None), CallNode(id='-2511813257162201612', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['-6133311656023209083'], kwargs=None), CallNode(id='4621008533751121606', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}, args=['-8768326066060742139'], kwargs=None), CallNode(id='1979722610775532237', function='BlockRef.add\\n', type_params=None, args=['4621008533751121606', '4186786895188062335', '-2511813257162201612'], kwargs=None), CallNode(id='-1525341231409569817', function='Pair.create\\n', type_params=None, args=['1979722610775532237', '-8768326066060742139'], kwargs=None), CallNode(id='-2434649648176282599', function='Pair.right\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['-1525341231409569817'], kwargs=None), CallNode(id='3821863160722257928', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['-1525341231409569817'], kwargs=None), CallNode(id='1060282358870627981', function='Pair.right\\n', type_params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}, args=['-2434649648176282599'], kwargs=None), CallNode(id='-6891511024029018512', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}, args=['-2434649648176282599'], kwargs=None), CallNode(id='7389964955900662162', function='BlockRef.ret\\n', type_params=None, args=['-6891511024029018512', '3821863160722257928'], kwargs=None), CallNode(id='2997470547999115292', function='Fn.add_block\\n', type_params=None, args=['1060282358870627981', '7389964955900662162'], kwargs=None), CallNode(id='3775892997468869675', function='from_llvm_fn_2\\n', type_params=None, args=['2997470547999115292'], kwargs=None), CallNode(id='-7703332481313616941', function='to_llvm_fn_2\\n', type_params=None, args=['3775892997468869675'], kwargs=None), CallNode(id='-7435458075172347097', function='ModRef.mod\\n', type_params=None, args=['-1259645767813234200', '-7703332481313616941'], kwargs=None), CallNode(id='-6168680084382346805', function='Fn.ref\\n', type_params=None, args=['-7703332481313616941'], kwargs=None), CallNode(id='113287366078893314', function='compile_function\\n', type_params=None, args=['-7435458075172347097', '-6168680084382346805', '-4262466165513757285'], kwargs=None), CallNode(id='-6718350911070629131', function='BlockRef.add\\n', type_params=None, args=['-4287992330114061160', '4909532286384298952', '-2212861782376562247'], kwargs=None), CallNode(id='8921605477936896703', function='Pair.create\\n', type_params=None, args=['-6718350911070629131', '7661390182722779908'], kwargs=None), CallNode(id='4215356177475960020', function='Pair.right\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['8921605477936896703'], kwargs=None), CallNode(id='-7974875087335051069', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['8921605477936896703'], kwargs=None), CallNode(id='-1008386197772740436', function='ValueExpr.build\\n', type_params=None, args=['-3412638507357442443', '4215356177475960020'], kwargs=None), CallNode(id='-1352783581700925000', function='Pair.right\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['-1008386197772740436'], kwargs=None), CallNode(id='4903729227197615527', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['-1008386197772740436'], kwargs=None), CallNode(id='-999983913197306261', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}, args=['-1352783581700925000'], kwargs=None), CallNode(id='-4694501677435975674', function='BlockRef.add\\n', type_params=None, args=['-999983913197306261', '-7974875087335051069', '4903729227197615527'], kwargs=None), CallNode(id='2360444142263827536', function='Pair.create\\n', type_params=None, args=['-4694501677435975674', '-1352783581700925000'], kwargs=None), CallNode(id='-2991877840775996505', function='Pair.right\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['2360444142263827536'], kwargs=None), CallNode(id='3264634968122544022', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['2360444142263827536'], kwargs=None), CallNode(id='4559567211069702870', function='Pair.right\\n', type_params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}, args=['-2991877840775996505'], kwargs=None), CallNode(id='-3392226171829943623', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}, args=['-2991877840775996505'], kwargs=None), CallNode(id='4411951188037393235', function='BlockRef.ret\\n', type_params=None, args=['-3392226171829943623', '3264634968122544022'], kwargs=None), CallNode(id='5396753515432957252', function='Fn.add_block\\n', type_params=None, args=['4559567211069702870', '4411951188037393235'], kwargs=None), CallNode(id='8146667621199289350', function='from_llvm_fn_2\\n', type_params=None, args=['5396753515432957252'], kwargs=None), CallNode(id='-6564581446762707655', function='to_llvm_fn_2\\n', type_params=None, args=['8146667621199289350'], kwargs=None), CallNode(id='4744868980756109559', function='ModRef.mod\\n', type_params=None, args=['-1259645767813234200', '-6564581446762707655'], kwargs=None), CallNode(id='-4422688068416136703', function='Fn.ref\\n', type_params=None, args=['-6564581446762707655'], kwargs=None), CallNode(id='2553384699913666718', function='compile_function\\n', type_params=None, args=['4744868980756109559', '-4422688068416136703', '-4262466165513757285'], kwargs=None), CallNode(id='8062284762921847658', function='BlockRef.add\\n', type_params=None, args=['-4287992330114061160', '-5547643591386393497', '-2212861782376562247'], kwargs=None), CallNode(id='-3474466157547242504', function='Pair.create\\n', type_params=None, args=['8062284762921847658', '7661390182722779908'], kwargs=None), CallNode(id='-4955762538321142086', function='Pair.right\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['-3474466157547242504'], kwargs=None), CallNode(id='1300750270577398441', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['-3474466157547242504'], kwargs=None), CallNode(id='-421596457732106365', function='ValueExpr.build\\n', type_params=None, args=['-3412638507357442443', '-4955762538321142086'], kwargs=None), CallNode(id='5666789827733992926', function='Pair.right\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['-421596457732106365'], kwargs=None), CallNode(id='-6523441437077018163', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['-421596457732106365'], kwargs=None), CallNode(id='4644389594367505683', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}, args=['5666789827733992926'], kwargs=None), CallNode(id='7436373963196616220', function='BlockRef.add\\n', type_params=None, args=['4644389594367505683', '1300750270577398441', '-6523441437077018163'], kwargs=None), CallNode(id='-1024005217061755260', function='Pair.create\\n', type_params=None, args=['7436373963196616220', '5666789827733992926'], kwargs=None), CallNode(id='169060859890737546', function='Pair.right\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['-1024005217061755260'], kwargs=None), CallNode(id='6425573668789278073', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['-1024005217061755260'], kwargs=None), CallNode(id='9078662464880542717', function='Pair.right\\n', type_params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}, args=['169060859890737546'], kwargs=None), CallNode(id='8172898370615753049', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}, args=['169060859890737546'], kwargs=None), CallNode(id='2026016195460676743', function='BlockRef.ret\\n', type_params=None, args=['8172898370615753049', '6425573668789278073'], kwargs=None), CallNode(id='-2870020598903677495', function='Fn.add_block\\n', type_params=None, args=['9078662464880542717', '2026016195460676743'], kwargs=None), CallNode(id='7672807092986701984', function='from_llvm_fn_2\\n', type_params=None, args=['-2870020598903677495'], kwargs=None), CallNode(id='-1253557279726291356', function='to_llvm_fn_2\\n', type_params=None, args=['7672807092986701984'], kwargs=None), CallNode(id='-5446772180394508085', function='ModRef.mod\\n', type_params=None, args=['-1259645767813234200', '-1253557279726291356'], kwargs=None), CallNode(id='3147156484628671356', function='Fn.ref\\n', type_params=None, args=['-1253557279726291356'], kwargs=None), CallNode(id='1021502995084855687', function='compile_function\\n', type_params=None, args=['-5446772180394508085', '3147156484628671356', '-4262466165513757285'], kwargs=None), CallNode(id='-5453020316637631373', function='BlockRef.add\\n', type_params=None, args=['-4287992330114061160', '-5547643591386393497', '-5091746245287591819'], kwargs=None), CallNode(id='-1668245717289782140', function='Pair.create\\n', type_params=None, args=['-5453020316637631373', '7661390182722779908'], kwargs=None), CallNode(id='1939112852857103165', function='Pair.right\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['-1668245717289782140'], kwargs=None), CallNode(id='8195625661755643692', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['-1668245717289782140'], kwargs=None), CallNode(id='4994616346646314137', function='ValueExpr.build\\n', type_params=None, args=['-3412638507357442443', '1939112852857103165'], kwargs=None), CallNode(id='7273502168704771339', function='Pair.right\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['4994616346646314137'], kwargs=None), CallNode(id='-4916729096106239750', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['4994616346646314137'], kwargs=None), CallNode(id='-7128627286968262011', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}, args=['7273502168704771339'], kwargs=None), CallNode(id='1295109118900979267', function='BlockRef.add\\n', type_params=None, args=['-7128627286968262011', '8195625661755643692', '-4916729096106239750'], kwargs=None), CallNode(id='-7232244902719690089', function='Pair.create\\n', type_params=None, args=['1295109118900979267', '7273502168704771339'], kwargs=None), CallNode(id='2764764197674841191', function='Pair.right\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['-7232244902719690089'], kwargs=None), CallNode(id='9021277006573381718', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['-7232244902719690089'], kwargs=None), CallNode(id='-8316717942720163972', function='Pair.right\\n', type_params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}, args=['2764764197674841191'], kwargs=None), CallNode(id='2178232748089741151', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}, args=['2764764197674841191'], kwargs=None), CallNode(id='2576734504914809644', function='BlockRef.ret\\n', type_params=None, args=['2178232748089741151', '9021277006573381718'], kwargs=None), CallNode(id='1514292885017078605', function='Fn.add_block\\n', type_params=None, args=['-8316717942720163972', '2576734504914809644'], kwargs=None), CallNode(id='-2007156111580478577', function='from_llvm_fn_2\\n', type_params=None, args=['1514292885017078605'], kwargs=None), CallNode(id='-3103935819129636602', function='to_llvm_fn_2\\n', type_params=None, args=['-2007156111580478577'], kwargs=None), CallNode(id='531869241709839615', function='ModRef.mod\\n', type_params=None, args=['-1259645767813234200', '-3103935819129636602'], kwargs=None), CallNode(id='-1834051711620574130', function='Fn.ref\\n', type_params=None, args=['-3103935819129636602'], kwargs=None), CallNode(id='1168265844924777888', function='compile_function\\n', type_params=None, args=['531869241709839615', '-1834051711620574130', '-4262466165513757285'], kwargs=None), CallNode(id='-5506033400854050872', function='ValueExpr.build\\n', type_params=None, args=['-3412638507357442443', '7661390182722779908'], kwargs=None), CallNode(id='-1563317860503546455', function='Pair.right\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['-5506033400854050872'], kwargs=None), CallNode(id='4693194948394994072', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['-5506033400854050872'], kwargs=None), CallNode(id='7838267839794239916', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}, args=['-1563317860503546455'], kwargs=None), CallNode(id='2765934357170471519', function='BlockRef.add\\n', type_params=None, args=['7838267839794239916', '8195625661755643692', '4693194948394994072'], kwargs=None), CallNode(id='-1367370955260686128', function='Pair.create\\n', type_params=None, args=['2765934357170471519', '-1563317860503546455'], kwargs=None), CallNode(id='-7971597971349094266', function='Pair.right\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['-1367370955260686128'], kwargs=None), CallNode(id='-1715085162450553739', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['-1367370955260686128'], kwargs=None), CallNode(id='7660324079592487678', function='Pair.right\\n', type_params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}, args=['-7971597971349094266'], kwargs=None), CallNode(id='6754559985327698010', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}, args=['-7971597971349094266'], kwargs=None), CallNode(id='-5001882695671158621', function='BlockRef.ret\\n', type_params=None, args=['6754559985327698010', '-1715085162450553739'], kwargs=None), CallNode(id='1666450357648997066', function='Fn.add_block\\n', type_params=None, args=['7660324079592487678', '-5001882695671158621'], kwargs=None), CallNode(id='-5045667662144083368', function='from_llvm_fn_2\\n', type_params=None, args=['1666450357648997066'], kwargs=None), CallNode(id='-7191027668677553262', function='to_llvm_fn_2\\n', type_params=None, args=['-5045667662144083368'], kwargs=None), CallNode(id='6392132753897588775', function='ModRef.mod\\n', type_params=None, args=['-1259645767813234200', '-7191027668677553262'], kwargs=None), CallNode(id='-4511787867660875177', function='Fn.ref\\n', type_params=None, args=['-7191027668677553262'], kwargs=None), CallNode(id='-4631504847853063397', function='compile_function\\n', type_params=None, args=['6392132753897588775', '-4511787867660875177', '-4262466165513757285'], kwargs=None), CallNode(id='-8490007609582247084', function='Pair.create\\n', type_params=None, args=['3517026737124413055', '7661390182722779908'], kwargs=None), CallNode(id='-2249573822334746438', function='Pair.right\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['-8490007609582247084'], kwargs=None), CallNode(id='4006938986563794089', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['-8490007609582247084'], kwargs=None), CallNode(id='-5340694019074890819', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}, args=['-2249573822334746438'], kwargs=None), CallNode(id='1595073049826780647', function='BlockRef.add\\n', type_params=None, args=['-5340694019074890819', '8195625661755643692', '4006938986563794089'], kwargs=None), CallNode(id='-15782947589255116', function='Pair.create\\n', type_params=None, args=['1595073049826780647', '-2249573822334746438'], kwargs=None), CallNode(id='-734573936793101779', function='Pair.right\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['-15782947589255116'], kwargs=None), CallNode(id='5521938872105438748', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['-15782947589255116'], kwargs=None), CallNode(id='3123599257810124365', function='Pair.right\\n', type_params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}, args=['-734573936793101779'], kwargs=None), CallNode(id='-4828194125089522128', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}, args=['-734573936793101779'], kwargs=None), CallNode(id='5905804831029972443', function='BlockRef.ret\\n', type_params=None, args=['-4828194125089522128', '5521938872105438748'], kwargs=None), CallNode(id='7547035070008221950', function='Fn.add_block\\n', type_params=None, args=['3123599257810124365', '5905804831029972443'], kwargs=None), CallNode(id='1027467070418401846', function='from_llvm_fn_2\\n', type_params=None, args=['7547035070008221950'], kwargs=None), CallNode(id='1902260765131736666', function='to_llvm_fn_2\\n', type_params=None, args=['1027467070418401846'], kwargs=None), CallNode(id='-2654316104518825616', function='ModRef.mod\\n', type_params=None, args=['-1259645767813234200', '1902260765131736666'], kwargs=None), CallNode(id='8543956482471200453', function='Fn.ref\\n', type_params=None, args=['1902260765131736666'], kwargs=None), CallNode(id='4743857191018809113', function='compile_function\\n', type_params=None, args=['-2654316104518825616', '8543956482471200453', '-4262466165513757285'], kwargs=None), CallNode(id='-1616623496623035278', function='BlockRef.add\\n', type_params=None, args=['1364037969563277327', '8195625661755643692', '4006938986563794089'], kwargs=None), CallNode(id='7734775822809902722', function='Pair.create\\n', type_params=None, args=['-1616623496623035278', '7661390182722779908'], kwargs=None), CallNode(id='-3567214531148750305', function='Pair.right\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['7734775822809902722'], kwargs=None), CallNode(id='2689298277749790222', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['7734775822809902722'], kwargs=None), CallNode(id='-565089913236265995', function='Pair.right\\n', type_params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}, args=['-3567214531148750305'], kwargs=None), CallNode(id='-4118525913151544360', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}, args=['-3567214531148750305'], kwargs=None), CallNode(id='2073004581052124625', function='BlockRef.ret\\n', type_params=None, args=['-4118525913151544360', '2689298277749790222'], kwargs=None), CallNode(id='-9156600256969457928', function='Fn.add_block\\n', type_params=None, args=['-565089913236265995', '2073004581052124625'], kwargs=None), CallNode(id='2853699525449542770', function='from_llvm_fn_2\\n', type_params=None, args=['-9156600256969457928'], kwargs=None), CallNode(id='7124038355278854167', function='to_llvm_fn_2\\n', type_params=None, args=['2853699525449542770'], kwargs=None), CallNode(id='-2756126077631773973', function='ModRef.mod\\n', type_params=None, args=['-1259645767813234200', '7124038355278854167'], kwargs=None), CallNode(id='8586998677339869920', function='Fn.ref\\n', type_params=None, args=['7124038355278854167'], kwargs=None), CallNode(id='-4715996199302852246', function='compile_function\\n', type_params=None, args=['-2756126077631773973', '8586998677339869920', '-4262466165513757285'], kwargs=None), CallNode(id='-7033526021740777990', function='BlockRef.add\\n', type_params=None, args=['-4287992330114061160', '8195625661755643692', '4006938986563794089'], kwargs=None), CallNode(id='-3869267919275264225', function='Pair.create\\n', type_params=None, args=['-7033526021740777990', '7661390182722779908'], kwargs=None), CallNode(id='-8657448894329390895', function='Pair.right\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['-3869267919275264225'], kwargs=None), CallNode(id='-2400936085430850368', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['-3869267919275264225'], kwargs=None), CallNode(id='1532108983686134876', function='Pair.right\\n', type_params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}, args=['-8657448894329390895'], kwargs=None), CallNode(id='5024702272405713336', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}, args=['-8657448894329390895'], kwargs=None), CallNode(id='-7375386436906560088', function='BlockRef.ret\\n', type_params=None, args=['5024702272405713336', '-2400936085430850368'], kwargs=None), CallNode(id='-7701176904203597269', function='Fn.add_block\\n', type_params=None, args=['1532108983686134876', '-7375386436906560088'], kwargs=None), CallNode(id='-3790173113905073406', function='from_llvm_fn_2\\n', type_params=None, args=['-7701176904203597269'], kwargs=None), CallNode(id='-7184520052972317111', function='to_llvm_fn_2\\n', type_params=None, args=['-3790173113905073406'], kwargs=None), CallNode(id='3035960096468471811', function='ModRef.mod\\n', type_params=None, args=['-1259645767813234200', '-7184520052972317111'], kwargs=None), CallNode(id='-8188480458893955250', function='Fn.ref\\n', type_params=None, args=['-7184520052972317111'], kwargs=None), CallNode(id='8658624060902819995', function='compile_function\\n', type_params=None, args=['3035960096468471811', '-8188480458893955250', '-4262466165513757285'], kwargs=None), CallNode(id='3964691039335496311', function='BlockRef.add\\n', type_params=None, args=['-4287992330114061160', '8195625661755643692', '3517026737124413055'], kwargs=None), CallNode(id='5647783255874005932', function='Pair.create\\n', type_params=None, args=['3964691039335496311', '7661390182722779908'], kwargs=None), CallNode(id='7805269077015023774', function='Pair.right\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['5647783255874005932'], kwargs=None), CallNode(id='-4384962187795987315', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['5647783255874005932'], kwargs=None), CallNode(id='4443644176816453456', function='Pair.right\\n', type_params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}, args=['7805269077015023774'], kwargs=None), CallNode(id='3537880082551663788', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}, args=['7805269077015023774'], kwargs=None), CallNode(id='8077297894701942772', function='BlockRef.ret\\n', type_params=None, args=['3537880082551663788', '-4384962187795987315'], kwargs=None), CallNode(id='5809100203194637003', function='Fn.add_block\\n', type_params=None, args=['4443644176816453456', '8077297894701942772'], kwargs=None), CallNode(id='4676457599471127110', function='from_llvm_fn_2\\n', type_params=None, args=['5809100203194637003'], kwargs=None), CallNode(id='-3371515329617096788', function='to_llvm_fn_2\\n', type_params=None, args=['4676457599471127110'], kwargs=None), CallNode(id='-8832307966339775500', function='ModRef.mod\\n', type_params=None, args=['-1259645767813234200', '-3371515329617096788'], kwargs=None), CallNode(id='1427095691329780833', function='Fn.ref\\n', type_params=None, args=['-3371515329617096788'], kwargs=None), CallNode(id='-5202876725642697235', function='compile_function\\n', type_params=None, args=['-8832307966339775500', '1427095691329780833', '-4262466165513757285'], kwargs=None), CallNode(id='388809901271900913', function='BlockRef.add\\n', type_params=None, args=['-4287992330114061160', '-5453020316637631373', '3517026737124413055'], kwargs=None), CallNode(id='-786695272160280492', function='Pair.create\\n', type_params=None, args=['388809901271900913', '7661390182722779908'], kwargs=None), CallNode(id='1733870857580821907', function='Pair.right\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['-786695272160280492'], kwargs=None), CallNode(id='-6058003024245821054', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Pair', params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}), 'T': DeclaredTypeInstance(type='Value', params=None)}, args=['-786695272160280492'], kwargs=None), CallNode(id='4889709545848698252', function='Pair.right\\n', type_params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}, args=['1733870857580821907'], kwargs=None), CallNode(id='1336273545933419887', function='Pair.left\\n', type_params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}, args=['1733870857580821907'], kwargs=None), CallNode(id='-3073540849448518355', function='BlockRef.ret\\n', type_params=None, args=['1336273545933419887', '-6058003024245821054'], kwargs=None), CallNode(id='346064553865755076', function='Fn.add_block\\n', type_params=None, args=['4889709545848698252', '-3073540849448518355'], kwargs=None), CallNode(id='3660045690789128246', function='from_llvm_fn_2\\n', type_params=None, args=['346064553865755076'], kwargs=None), CallNode(id='2769161536652219842', function='to_llvm_fn_2\\n', type_params=None, args=['3660045690789128246'], kwargs=None), CallNode(id='-3618574829320416556', function='ModRef.mod\\n', type_params=None, args=['-1259645767813234200', '2769161536652219842'], kwargs=None), CallNode(id='8417637329336040914', function='Fn.ref\\n', type_params=None, args=['2769161536652219842'], kwargs=None), CallNode(id='-5086356462657671653', function='compile_function\\n', type_params=None, args=['-3618574829320416556', '8417637329336040914', '-4262466165513757285'], kwargs=None), CallNode(id='2269802063828066995', function='Pair.right\\n', type_params={'U': DeclaredTypeInstance(type='Fn', params=None), 'T': DeclaredTypeInstance(type='BlockRef', params=None)}, args=['7661390182722779908'], kwargs=None), CallNode(id='2021681044924560260', function='BlockRef.ret\\n', type_params=None, args=['1364037969563277327', '-6058003024245821054'], kwargs=None), CallNode(id='8402901269412554570', function='Fn.add_block\\n', type_params=None, args=['2269802063828066995', '2021681044924560260'], kwargs=None), CallNode(id='-5300006026175106679', function='from_llvm_fn_2\\n', type_params=None, args=['8402901269412554570'], kwargs=None), CallNode(id='1937395899347343275', function='to_llvm_fn_2\\n', type_params=None, args=['-5300006026175106679'], kwargs=None), CallNode(id='-3933308725665006707', function='ModRef.mod\\n', type_params=None, args=['-1259645767813234200', '1937395899347343275'], kwargs=None), CallNode(id='-608080708309230814', function='Fn.ref\\n', type_params=None, args=['1937395899347343275'], kwargs=None), CallNode(id='-5988491255728222316', function='compile_function\\n', type_params=None, args=['-3933308725665006707', '-608080708309230814', '-4262466165513757285'], kwargs=None), CallNode(id='-4407787958856443335', function='Fn.add_block\\n', type_params=None, args=['706416695086768172', '2021681044924560260'], kwargs=None), CallNode(id='-2979599475608576564', function='from_llvm_fn_2\\n', type_params=None, args=['-4407787958856443335'], kwargs=None), CallNode(id='-2471793441743931643', function='to_llvm_fn_2\\n', type_params=None, args=['-2979599475608576564'], kwargs=None), CallNode(id='8981626855877482491', function='ModRef.mod\\n', type_params=None, args=['-1259645767813234200', '-2471793441743931643'], kwargs=None), CallNode(id='-2541642799075723488', function='Fn.ref\\n', type_params=None, args=['-2471793441743931643'], kwargs=None), CallNode(id='-5810529754943189185', function='compile_function\\n', type_params=None, args=['8981626855877482491', '-2541642799075723488', '-4262466165513757285'], kwargs=None), CallNode(id='7814169828454225815', function='BlockRef.ret\\n', type_params=None, args=['-4287992330114061160', '-6058003024245821054'], kwargs=None), CallNode(id='2782311656443582206', function='Fn.add_block\\n', type_params=None, args=['706416695086768172', '7814169828454225815'], kwargs=None), CallNode(id='5093152354328883347', function='from_llvm_fn_2\\n', type_params=None, args=['2782311656443582206'], kwargs=None), CallNode(id='-980179099114109766', function='to_llvm_fn_2\\n', type_params=None, args=['5093152354328883347'], kwargs=None), CallNode(id='-7579732179580112082', function='ModRef.mod\\n', type_params=None, args=['-1259645767813234200', '-980179099114109766'], kwargs=None), CallNode(id='4544358642431921765', function='Fn.ref\\n', type_params=None, args=['-980179099114109766'], kwargs=None), CallNode(id='5645337383557515900', function='compile_function\\n', type_params=None, args=['-7579732179580112082', '4544358642431921765', '-4262466165513757285'], kwargs=None), CallNode(id='4473311031993745667', function='BlockRef.ret\\n', type_params=None, args=['-4287992330114061160', '388809901271900913'], kwargs=None), CallNode(id='-4889754282390738074', function='Fn.add_block\\n', type_params=None, args=['706416695086768172', '4473311031993745667'], kwargs=None), CallNode(id='-298895553921004414', function='from_llvm_fn_2\\n', type_params=None, args=['-4889754282390738074'], kwargs=None), CallNode(id='8016017040766278801', function='to_llvm_fn_2\\n', type_params=None, args=['-298895553921004414'], kwargs=None), CallNode(id='2970001888423572468', function='ModRef.mod\\n', type_params=None, args=['-1259645767813234200', '8016017040766278801'], kwargs=None), CallNode(id='4160766266829719337', function='Fn.ref\\n', type_params=None, args=['8016017040766278801'], kwargs=None), CallNode(id='-6919493787481518663', function='compile_function\\n', type_params=None, args=['2970001888423572468', '4160766266829719337', '-4262466165513757285'], kwargs=None), CallNode(id='-6250822185155035328', function='FnRef.fn\\n', type_params=None, args=['6443065712994965992', '4473311031993745667'], kwargs=None), CallNode(id='2338220402548615275', function='from_llvm_fn_2\\n', type_params=None, args=['-6250822185155035328'], kwargs=None), CallNode(id='-7395143919271923440', function='to_llvm_fn_2\\n', type_params=None, args=['2338220402548615275'], kwargs=None), CallNode(id='-3589683256342677618', function='ModRef.mod\\n', type_params=None, args=['-1259645767813234200', '-7395143919271923440'], kwargs=None), CallNode(id='-5933916156309263668', function='Fn.ref\\n', type_params=None, args=['-7395143919271923440'], kwargs=None), CallNode(id='-3522698397710256046', function='compile_function\\n', type_params=None, args=['-3589683256342677618', '-5933916156309263668', '-4262466165513757285'], kwargs=None), CallNode(id='8502246814533390600', function='ModRef.mod\\n', type_params=None, args=['-1259645767813234200', '-6250822185155035328'], kwargs=None), CallNode(id='-2307278577560870963', function='Fn.ref\\n', type_params=None, args=['-6250822185155035328'], kwargs=None), CallNode(id='-4682007217505606731', function='compile_function\\n', type_params=None, args=['8502246814533390600', '-2307278577560870963', '-4262466165513757285'], kwargs=None), CallNode(id='-4022711592214600058', function='compile_function\\n', type_params=None, args=['8502246814533390600', '6443065712994965992', '-4262466165513757285'], kwargs=None), PrimitiveNode(id='-4485748686899451646', type='str', repr='entry_'), PrimitiveNode(id='7729659479367345739', type='str', repr=''), PrimitiveNode(id='976784040273971118', type='str', repr='entry'), PrimitiveNode(id='2947207602459711360', type='_Uniq', repr='4952627808'), CallNode(id='-8576606259676631921', function='FnRef.type\\n', type_params=None, args=['6443065712994965992'], kwargs=None), CallNode(id='7630279167916643656', function='FnRef.name\\n', type_params=None, args=['6443065712994965992'], kwargs=None), CallNode(id='-6278751840179048412', function='llvm_to_c_fn_type\\n', type_params=None, args=['-8576606259676631921'], kwargs=None), CallNode(id='-4708161758537221634', function='concat_strings\\n', type_params=None, args=['-4485748686899451646', '7630279167916643656'], kwargs=None), CallNode(id='-7635895613020271160', function='Mod.ref\\n', type_params=None, args=['8502246814533390600'], kwargs=None), CallNode(id='-6639795238546302537', function='ModRef.fn\\n', type_params=None, args=['-7635895613020271160', '-4708161758537221634', '-8576606259676631921', '7729659479367345739'], kwargs=None), CallNode(id='-5390100198774583173', function='FnRef._block\\n', type_params=None, args=['-6639795238546302537', '2174576262982190149', '976784040273971118', '2947207602459711360'], kwargs=None), CallNode(id='-1542799527641797736', function='FnRef.arguments\\n', type_params=None, args=['-6639795238546302537'], kwargs=None), CallNode(id='277808217407961685', function='BlockRef.call\\n', type_params=None, args=['-5390100198774583173', '6443065712994965992', '-1542799527641797736'], kwargs=None), CallNode(id='6572576548118180743', function='BlockRef.ret\\n', type_params=None, args=['-5390100198774583173', '277808217407961685'], kwargs=None), CallNode(id='-1256634244811447566', function='FnRef.fn\\n', type_params=None, args=['-6639795238546302537', '6572576548118180743'], kwargs=None), CallNode(id='4534992847586670327', function='Mod.add_fn\\n', type_params=None, args=['8502246814533390600', '-1256634244811447566'], kwargs=None), CallNode(id='4530715241202985957', function='mod_str\\n', type_params=None, args=['4534992847586670327'], kwargs=None), CallNode(id='6850565509787569482', function='ModuleRef.create\\n', type_params=None, args=['4530715241202985957'], kwargs=None), CallNode(id='895225224903479183', function='ModuleRef.optimize\\n', type_params=None, args=['6850565509787569482', '-4262466165513757285'], kwargs=None), CallNode(id='-4576036384216832002', function='ExecutionEngine.create\\n', type_params=None, args=['895225224903479183'], kwargs=None), CallNode(id='5126722755136546764', function='ExecutionEngine.get_function_address\\n', type_params=None, args=['-4576036384216832002', '-4708161758537221634'], kwargs=None), CallNode(id='-1341249802870673600', function='CFunctionType.__call__\\n', type_params=None, args=['-6278751840179048412', '5126722755136546764'], kwargs=None), CallNode(id='-6348676772697738740', function='llvm_to_c_fn_type\\n', type_params=None, args=['6920011226272107764'], kwargs=None), CallNode(id='730462797108659579', function='ModRef.fn\\n', type_params=None, args=['-7635895613020271160', '-4708161758537221634', '6920011226272107764', '7729659479367345739'], kwargs=None), CallNode(id='3183507664943132273', function='FnRef._block\\n', type_params=None, args=['730462797108659579', '2174576262982190149', '976784040273971118', '2947207602459711360'], kwargs=None), CallNode(id='-6973022042488359538', function='FnRef.arguments\\n', type_params=None, args=['730462797108659579'], kwargs=None), CallNode(id='3055346646011901080', function='BlockRef.call\\n', type_params=None, args=['3183507664943132273', '6443065712994965992', '-6973022042488359538'], kwargs=None), CallNode(id='1274184760899050915', function='BlockRef.ret\\n', type_params=None, args=['3183507664943132273', '3055346646011901080'], kwargs=None), CallNode(id='-3682799330123816845', function='FnRef.fn\\n', type_params=None, args=['730462797108659579', '1274184760899050915'], kwargs=None), CallNode(id='-7651466029833559425', function='Mod.add_fn\\n', type_params=None, args=['8502246814533390600', '-3682799330123816845'], kwargs=None), CallNode(id='3561254854044687053', function='mod_str\\n', type_params=None, args=['-7651466029833559425'], kwargs=None), CallNode(id='-42019486797549481', function='ModuleRef.create\\n', type_params=None, args=['3561254854044687053'], kwargs=None), CallNode(id='5556228659037303716', function='ModuleRef.optimize\\n', type_params=None, args=['-42019486797549481', '-4262466165513757285'], kwargs=None), CallNode(id='-9133989116486161868', function='ExecutionEngine.create\\n', type_params=None, args=['5556228659037303716'], kwargs=None), CallNode(id='1816773668554390354', function='ExecutionEngine.get_function_address\\n', type_params=None, args=['-9133989116486161868', '-4708161758537221634'], kwargs=None), CallNode(id='4116661615998211984', function='CFunctionType.__call__\\n', type_params=None, args=['-6348676772697738740', '1816773668554390354'], kwargs=None), CallNode(id='1334329279920769649', function='llvm_to_c_type\\n', type_params=None, args=['896411822270447236'], kwargs=None), CallNode(id='6634573228284385578', function='CFunctionType.create\\n', type_params=None, args=['1334329279920769649', '1334329279920769649', '1334329279920769649'], kwargs=None), CallNode(id='-8992343331704541651', function='CFunctionType.__call__\\n', type_params=None, args=['6634573228284385578', '1816773668554390354'], kwargs=None), CallNode(id='-8691819984001117433', function='CType.c_int\\n', type_params=None, args=None, kwargs=None), CallNode(id='7687852306347064831', function='CFunctionType.create\\n', type_params=None, args=['-8691819984001117433', '-8691819984001117433', '-8691819984001117433'], kwargs=None), CallNode(id='-1713872782020011907', function='CFunctionType.__call__\\n', type_params=None, args=['7687852306347064831', '1816773668554390354'], kwargs=None), CallNode(id='6290307500369069629', function='concat_strings\\n', type_params=None, args=['-4485748686899451646', '620784253559051387'], kwargs=None), CallNode(id='8264485096004795904', function='ModRef.fn\\n', type_params=None, args=['-7635895613020271160', '6290307500369069629', '6920011226272107764', '7729659479367345739'], kwargs=None), CallNode(id='6175723154605753174', function='FnRef._block\\n', type_params=None, args=['8264485096004795904', '2174576262982190149', '976784040273971118', '2947207602459711360'], kwargs=None), CallNode(id='54615950863522952', function='FnRef.arguments\\n', type_params=None, args=['8264485096004795904'], kwargs=None), CallNode(id='8146958499774089076', function='BlockRef.call\\n', type_params=None, args=['6175723154605753174', '6443065712994965992', '54615950863522952'], kwargs=None), CallNode(id='9167265393571188182', function='BlockRef.ret\\n', type_params=None, args=['6175723154605753174', '8146958499774089076'], kwargs=None), CallNode(id='-2419154510293368899', function='FnRef.fn\\n', type_params=None, args=['8264485096004795904', '9167265393571188182'], kwargs=None), CallNode(id='8916048681038413964', function='Mod.add_fn\\n', type_params=None, args=['8502246814533390600', '-2419154510293368899'], kwargs=None), CallNode(id='1516949497300444336', function='mod_str\\n', type_params=None, args=['8916048681038413964'], kwargs=None), CallNode(id='7720243533711733741', function='ModuleRef.create\\n', type_params=None, args=['1516949497300444336'], kwargs=None), CallNode(id='2173401025575971080', function='ModuleRef.optimize\\n', type_params=None, args=['7720243533711733741', '-4262466165513757285'], kwargs=None), CallNode(id='-451305890429072219', function='ExecutionEngine.create\\n', type_params=None, args=['2173401025575971080'], kwargs=None), CallNode(id='-3880708907240950764', function='ExecutionEngine.get_function_address\\n', type_params=None, args=['-451305890429072219', '6290307500369069629'], kwargs=None), CallNode(id='2721796430436125539', function='CFunctionType.__call__\\n', type_params=None, args=['7687852306347064831', '-3880708907240950764'], kwargs=None), PrimitiveNode(id='6806303904774431906', type='str', repr='entry_add'), CallNode(id='-5940172474693341664', function='ModRef.fn\\n', type_params=None, args=['-7635895613020271160', '6806303904774431906', '6920011226272107764', '7729659479367345739'], kwargs=None), CallNode(id='4161926303444884313', function='FnRef._block\\n', type_params=None, args=['-5940172474693341664', '2174576262982190149', '976784040273971118', '2947207602459711360'], kwargs=None), CallNode(id='-1575964025555230154', function='FnRef.arguments\\n', type_params=None, args=['-5940172474693341664'], kwargs=None), CallNode(id='3924452970058664262', function='BlockRef.call\\n', type_params=None, args=['4161926303444884313', '6443065712994965992', '-1575964025555230154'], kwargs=None), CallNode(id='1632410476371949368', function='BlockRef.ret\\n', type_params=None, args=['4161926303444884313', '3924452970058664262'], kwargs=None), CallNode(id='8363344268866010088', function='FnRef.fn\\n', type_params=None, args=['-5940172474693341664', '1632410476371949368'], kwargs=None), CallNode(id='3752355308830270960', function='Mod.add_fn\\n', type_params=None, args=['8502246814533390600', '8363344268866010088'], kwargs=None), CallNode(id='-2668848225489420096', function='mod_str\\n', type_params=None, args=['3752355308830270960'], kwargs=None), CallNode(id='-3360982181041966885', function='ModuleRef.create\\n', type_params=None, args=['-2668848225489420096'], kwargs=None), CallNode(id='1789818650482813946', function='ModuleRef.optimize\\n', type_params=None, args=['-3360982181041966885', '-4262466165513757285'], kwargs=None), CallNode(id='2020204229325146413', function='ExecutionEngine.create\\n', type_params=None, args=['1789818650482813946'], kwargs=None), CallNode(id='260283824136595087', function='ExecutionEngine.get_function_address\\n', type_params=None, args=['2020204229325146413', '6806303904774431906'], kwargs=None), CallNode(id='1360987208449411127', function='CFunctionType.__call__\\n', type_params=None, args=['7687852306347064831', '260283824136595087'], kwargs=None), CallNode(id='-1805281809653197566', function='ModRef.fn\\n', type_params=None, args=['-1259645767813234200', '6806303904774431906', '6920011226272107764', '7729659479367345739'], kwargs=None), CallNode(id='-6906300339042637648', function='FnRef._block\\n', type_params=None, args=['-1805281809653197566', '2174576262982190149', '976784040273971118', '2947207602459711360'], kwargs=None), CallNode(id='-3182637252964767872', function='FnRef.arguments\\n', type_params=None, args=['-1805281809653197566'], kwargs=None), CallNode(id='-1462621244087035546', function='BlockRef.call\\n', type_params=None, args=['-6906300339042637648', '6443065712994965992', '-3182637252964767872'], kwargs=None), CallNode(id='-1677023646692176814', function='BlockRef.ret\\n', type_params=None, args=['-6906300339042637648', '-1462621244087035546'], kwargs=None), CallNode(id='1310612256198302914', function='FnRef.fn\\n', type_params=None, args=['-1805281809653197566', '-1677023646692176814'], kwargs=None), CallNode(id='-1842147282242016465', function='Mod.add_fn\\n', type_params=None, args=['8502246814533390600', '1310612256198302914'], kwargs=None), CallNode(id='-122563709972847480', function='mod_str\\n', type_params=None, args=['-1842147282242016465'], kwargs=None), CallNode(id='-3341566657874386775', function='ModuleRef.create\\n', type_params=None, args=['-122563709972847480'], kwargs=None), CallNode(id='-4695176850630205500', function='ModuleRef.optimize\\n', type_params=None, args=['-3341566657874386775', '-4262466165513757285'], kwargs=None), CallNode(id='-7555460000407234388', function='ExecutionEngine.create\\n', type_params=None, args=['-4695176850630205500'], kwargs=None), CallNode(id='4275510204619882782', function='ExecutionEngine.get_function_address\\n', type_params=None, args=['-7555460000407234388', '6806303904774431906'], kwargs=None), CallNode(id='-7089261329658232414', function='CFunctionType.__call__\\n', type_params=None, args=['7687852306347064831', '4275510204619882782'], kwargs=None), CallNode(id='-7821794325205073028', function='ModRef.mod\\n', type_params=None, args=['-1259645767813234200', '-6250822185155035328', '1310612256198302914'], kwargs=None), CallNode(id='-397316233428138708', function='mod_str\\n', type_params=None, args=['-7821794325205073028'], kwargs=None), CallNode(id='-2859261381271047504', function='ModuleRef.create\\n', type_params=None, args=['-397316233428138708'], kwargs=None), CallNode(id='-7627055448857497170', function='ModuleRef.optimize\\n', type_params=None, args=['-2859261381271047504', '-4262466165513757285'], kwargs=None), CallNode(id='1855837802547640946', function='ExecutionEngine.create\\n', type_params=None, args=['-7627055448857497170'], kwargs=None), CallNode(id='-9062028191470434407', function='ExecutionEngine.get_function_address\\n', type_params=None, args=['1855837802547640946', '6806303904774431906'], kwargs=None), CallNode(id='-999818507167379704', function='CFunctionType.__call__\\n', type_params=None, args=['7687852306347064831', '-9062028191470434407'], kwargs=None), PrimitiveNode(id='-1427269299823347335', type='Module', repr='; ModuleID = \"add\"\\ntarget triple = \"unknown-unknown-unknown\"\\ntarget datalayout = \"\"\\n'), CallNode(id='7947621914677231462', function='box_mod_ref\\n', type_params=None, args=['-1427269299823347335'], kwargs=None), CallNode(id='-5311887871508002987', function='ModRef.fn\\n', type_params=None, args=['7947621914677231462', '620784253559051387', '6920011226272107764', '8314187887841895722'], kwargs=None), CallNode(id='-7423475612477589783', function='ModRef.fn\\n', type_params=None, args=['7947621914677231462', '6806303904774431906', '6920011226272107764', '7729659479367345739'], kwargs=None), CallNode(id='-7705493335976915164', function='FnRef._block\\n', type_params=None, args=['-5311887871508002987', '2174576262982190149', '-8647664536320713804', '2608332961566761191'], kwargs=None), CallNode(id='-6470406506620385823', function='FnRef.arguments\\n', type_params=None, args=['-5311887871508002987'], kwargs=None), CallNode(id='-5383321346945900485', function='FnRef._block\\n', type_params=None, args=['-7423475612477589783', '2174576262982190149', '976784040273971118', '2947207602459711360'], kwargs=None), CallNode(id='2204072696503352206', function='FnRef.arguments\\n', type_params=None, args=['-7423475612477589783'], kwargs=None), CallNode(id='1445235559088521800', function='Vec.__getitem__\\n', type_params={'T': DeclaredTypeInstance(type='Value', params=None)}, args=['-6470406506620385823', '8201783764071103985'], kwargs=None), CallNode(id='-3730393437450895520', function='Vec.__getitem__\\n', type_params={'T': DeclaredTypeInstance(type='Value', params=None)}, args=['-6470406506620385823', '-7137755224053718221'], kwargs=None), CallNode(id='4536885991172399238', function='BlockRef.call\\n', type_params=None, args=['-5383321346945900485', '-5311887871508002987', '2204072696503352206'], kwargs=None), CallNode(id='-6549275520409314029', function='BlockRef.add\\n', type_params=None, args=['-7705493335976915164', '1445235559088521800', '-3730393437450895520'], kwargs=None), CallNode(id='-2021702299346596126', function='BlockRef.ret\\n', type_params=None, args=['-5383321346945900485', '4536885991172399238'], kwargs=None), CallNode(id='4213845402921117011', function='BlockRef.add\\n', type_params=None, args=['-7705493335976915164', '-6549275520409314029', '3517026737124413055'], kwargs=None), CallNode(id='4090050328315764982', function='FnRef.fn\\n', type_params=None, args=['-7423475612477589783', '-2021702299346596126'], kwargs=None), CallNode(id='-2712310897215153976', function='BlockRef.ret\\n', type_params=None, args=['-7705493335976915164', '4213845402921117011'], kwargs=None), CallNode(id='7012520582850991923', function='FnRef.fn\\n', type_params=None, args=['-5311887871508002987', '-2712310897215153976'], kwargs=None), CallNode(id='4753056911894548257', function='ModRef.mod\\n', type_params=None, args=['7947621914677231462', '7012520582850991923', '4090050328315764982'], kwargs=None), CallNode(id='50399459717190840', function='mod_str\\n', type_params=None, args=['4753056911894548257'], kwargs=None), CallNode(id='2007953310234316006', function='ModuleRef.create\\n', type_params=None, args=['50399459717190840'], kwargs=None), CallNode(id='-3494860129063659959', function='ModuleRef.optimize\\n', type_params=None, args=['2007953310234316006', '-4262466165513757285'], kwargs=None), CallNode(id='-3754217460084050896', function='ExecutionEngine.create\\n', type_params=None, args=['-3494860129063659959'], kwargs=None), CallNode(id='7116661103203081270', function='ExecutionEngine.get_function_address\\n', type_params=None, args=['-3754217460084050896', '6806303904774431906'], kwargs=None), CallNode(id='6016863737543877720', function='CFunctionType.__call__\\n', type_params=None, args=['7687852306347064831', '7116661103203081270'], kwargs=None), PrimitiveNode(id='6738449927437796380', type='IntType', repr='i32'), CallNode(id='7254378971735631597', function='box_type\\n', type_params=None, args=['6738449927437796380'], kwargs=None), CallNode(id='1537418376424093855', function='FnType.create\\n', type_params=None, args=['7254378971735631597', '7254378971735631597', '7254378971735631597'], kwargs=None), CallNode(id='-2342937846046670828', function='Value.constant\\n', type_params=None, args=['7254378971735631597', '-4262466165513757285'], kwargs=None), CallNode(id='1070170113372121855', function='ModRef.fn\\n', type_params=None, args=['7947621914677231462', '620784253559051387', '1537418376424093855', '8314187887841895722'], kwargs=None), CallNode(id='-3035166753241674307', function='ModRef.fn\\n', type_params=None, args=['7947621914677231462', '6806303904774431906', '1537418376424093855', '7729659479367345739'], kwargs=None), CallNode(id='-2155189918775674613', function='FnRef._block\\n', type_params=None, args=['1070170113372121855', '2174576262982190149', '-8647664536320713804', '2608332961566761191'], kwargs=None), CallNode(id='-4808377702014980013', function='FnRef.arguments\\n', type_params=None, args=['1070170113372121855'], kwargs=None), CallNode(id='5543037921321229629', function='FnRef._block\\n', type_params=None, args=['-3035166753241674307', '2174576262982190149', '976784040273971118', '2947207602459711360'], kwargs=None), CallNode(id='-151218334033947092', function='FnRef.arguments\\n', type_params=None, args=['-3035166753241674307'], kwargs=None), CallNode(id='-5992516520001211231', function='Vec.__getitem__\\n', type_params={'T': DeclaredTypeInstance(type='Value', params=None)}, args=['-4808377702014980013', '8201783764071103985'], kwargs=None), CallNode(id='9152604340687319158', function='Vec.__getitem__\\n', type_params={'T': DeclaredTypeInstance(type='Value', params=None)}, args=['-4808377702014980013', '-7137755224053718221'], kwargs=None), CallNode(id='-7233371355616402190', function='BlockRef.call\\n', type_params=None, args=['5543037921321229629', '1070170113372121855', '-151218334033947092'], kwargs=None), CallNode(id='-2420858085889990583', function='BlockRef.add\\n', type_params=None, args=['-2155189918775674613', '-5992516520001211231', '9152604340687319158'], kwargs=None), CallNode(id='-6241119100602686803', function='BlockRef.ret\\n', type_params=None, args=['5543037921321229629', '-7233371355616402190'], kwargs=None), CallNode(id='-1243147331552554268', function='BlockRef.add\\n', type_params=None, args=['-2155189918775674613', '-2420858085889990583', '-2342937846046670828'], kwargs=None), CallNode(id='7459167325181112757', function='FnRef.fn\\n', type_params=None, args=['-3035166753241674307', '-6241119100602686803'], kwargs=None), CallNode(id='-4750828998548376876', function='BlockRef.ret\\n', type_params=None, args=['-2155189918775674613', '-1243147331552554268'], kwargs=None), CallNode(id='-8561993094121827269', function='FnRef.fn\\n', type_params=None, args=['1070170113372121855', '-4750828998548376876'], kwargs=None), CallNode(id='6551007063161494753', function='ModRef.mod\\n', type_params=None, args=['7947621914677231462', '-8561993094121827269', '7459167325181112757'], kwargs=None), CallNode(id='-272716051632392370', function='mod_str\\n', type_params=None, args=['6551007063161494753'], kwargs=None), CallNode(id='467631554308973322', function='ModuleRef.create\\n', type_params=None, args=['-272716051632392370'], kwargs=None), CallNode(id='2423172074290348732', function='ModuleRef.optimize\\n', type_params=None, args=['467631554308973322', '-4262466165513757285'], kwargs=None), CallNode(id='-2228644617335757381', function='ExecutionEngine.create\\n', type_params=None, args=['2423172074290348732'], kwargs=None), CallNode(id='4372756755229616292', function='ExecutionEngine.get_function_address\\n', type_params=None, args=['-2228644617335757381', '6806303904774431906'], kwargs=None), CallNode(id='-4844812588041245677', function='CFunctionType.__call__\\n', type_params=None, args=['7687852306347064831', '4372756755229616292'], kwargs=None), PrimitiveNode(id='2102013918000065989', type='FunctionType', repr='i32 (i32, i32)'), CallNode(id='-4061110614390901054', function='box_fn_type\\n', type_params=None, args=['2102013918000065989'], kwargs=None), CallNode(id='-3245025128822325491', function='ModRef.fn\\n', type_params=None, args=['7947621914677231462', '620784253559051387', '-4061110614390901054', '8314187887841895722'], kwargs=None), CallNode(id='6244179386477405776', function='ModRef.fn\\n', type_params=None, args=['7947621914677231462', '6806303904774431906', '-4061110614390901054', '7729659479367345739'], kwargs=None), CallNode(id='5502150895787686906', function='FnRef._block\\n', type_params=None, args=['-3245025128822325491', '2174576262982190149', '-8647664536320713804', '2608332961566761191'], kwargs=None), CallNode(id='7428376345011055175', function='FnRef.arguments\\n', type_params=None, args=['-3245025128822325491'], kwargs=None), CallNode(id='-3160076998660813094', function='FnRef._block\\n', type_params=None, args=['6244179386477405776', '2174576262982190149', '976784040273971118', '2947207602459711360'], kwargs=None), CallNode(id='-5762306654085157343', function='FnRef.arguments\\n', type_params=None, args=['6244179386477405776'], kwargs=None), CallNode(id='442373000426814477', function='Vec.__getitem__\\n', type_params={'T': DeclaredTypeInstance(type='Value', params=None)}, args=['7428376345011055175', '8201783764071103985'], kwargs=None), CallNode(id='-3031447430802508747', function='Vec.__getitem__\\n', type_params={'T': DeclaredTypeInstance(type='Value', params=None)}, args=['7428376345011055175', '-7137755224053718221'], kwargs=None), CallNode(id='-7506801023227649599', function='BlockRef.call\\n', type_params=None, args=['-3160076998660813094', '-3245025128822325491', '-5762306654085157343'], kwargs=None), CallNode(id='2105757973995476275', function='BlockRef.add\\n', type_params=None, args=['5502150895787686906', '442373000426814477', '-3031447430802508747'], kwargs=None), CallNode(id='-4792250136367584102', function='BlockRef.ret\\n', type_params=None, args=['-3160076998660813094', '-7506801023227649599'], kwargs=None), CallNode(id='-1160491919033702303', function='BlockRef.add\\n', type_params=None, args=['5502150895787686906', '2105757973995476275', '-2342937846046670828'], kwargs=None), CallNode(id='3716167124953229746', function='FnRef.fn\\n', type_params=None, args=['6244179386477405776', '-4792250136367584102'], kwargs=None), CallNode(id='6044793092599755586', function='BlockRef.ret\\n', type_params=None, args=['5502150895787686906', '-1160491919033702303'], kwargs=None), CallNode(id='-3697391442834155128', function='FnRef.fn\\n', type_params=None, args=['-3245025128822325491', '6044793092599755586'], kwargs=None), CallNode(id='-6642757953643795062', function='ModRef.mod\\n', type_params=None, args=['7947621914677231462', '-3697391442834155128', '3716167124953229746'], kwargs=None), CallNode(id='9204942314229852230', function='mod_str\\n', type_params=None, args=['-6642757953643795062'], kwargs=None), CallNode(id='-5752046619868572665', function='ModuleRef.create\\n', type_params=None, args=['9204942314229852230'], kwargs=None), CallNode(id='-5678188836770149639', function='ModuleRef.optimize\\n', type_params=None, args=['-5752046619868572665', '-4262466165513757285'], kwargs=None), CallNode(id='3450332702274980944', function='ExecutionEngine.create\\n', type_params=None, args=['-5678188836770149639'], kwargs=None), CallNode(id='3289776512456183435', function='ExecutionEngine.get_function_address\\n', type_params=None, args=['3450332702274980944', '6806303904774431906'], kwargs=None), CallNode(id='-7464028114676333008', function='CFunctionType.__call__\\n', type_params=None, args=['7687852306347064831', '3289776512456183435'], kwargs=None), PrimitiveNode(id='8096496754603123216', type='Constant', repr='i32 1'), CallNode(id='-7409640487386521139', function='box_value\\n', type_params=None, args=['8096496754603123216'], kwargs=None), CallNode(id='-1628477714844238736', function='BlockRef.add\\n', type_params=None, args=['5502150895787686906', '2105757973995476275', '-7409640487386521139'], kwargs=None), CallNode(id='4596183069491909133', function='BlockRef.ret\\n', type_params=None, args=['5502150895787686906', '-1628477714844238736'], kwargs=None), CallNode(id='-2288557646135326446', function='FnRef.fn\\n', type_params=None, args=['-3245025128822325491', '4596183069491909133'], kwargs=None), CallNode(id='-3826783276834418712', function='ModRef.mod\\n', type_params=None, args=['7947621914677231462', '-2288557646135326446', '3716167124953229746'], kwargs=None), CallNode(id='-402760789802967485', function='mod_str\\n', type_params=None, args=['-3826783276834418712'], kwargs=None), CallNode(id='1964245937041242218', function='ModuleRef.create\\n', type_params=None, args=['-402760789802967485'], kwargs=None), CallNode(id='-8237067111800064255', function='ModuleRef.optimize\\n', type_params=None, args=['1964245937041242218', '-4262466165513757285'], kwargs=None), CallNode(id='-3718827830529061239', function='ExecutionEngine.create\\n', type_params=None, args=['-8237067111800064255'], kwargs=None), CallNode(id='6647959501872772639', function='ExecutionEngine.get_function_address\\n', type_params=None, args=['-3718827830529061239', '6806303904774431906'], kwargs=None), CallNode(id='2015437729955776343', function='CFunctionType.__call__\\n', type_params=None, args=['7687852306347064831', '6647959501872772639'], kwargs=None), PrimitiveNode(id='6747186829139872780', type='Module', repr='; ModuleID = \"add\"\\ntarget triple = \"unknown-unknown-unknown\"\\ntarget datalayout = \"\"\\n\\ndeclare fastcc i32 @\"add\"(i32 %\".1\", i32 %\".2\") \\n'), PrimitiveNode(id='-6365823152927076485', type='Function', repr='declare fastcc i32 @\"add\"(i32 %\".1\", i32 %\".2\") \\n'), CallNode(id='-5268980088725424495', function='box_mod_ref\\n', type_params=None, args=['6747186829139872780'], kwargs=None), CallNode(id='-2218400885834023263', function='box_fn_ref\\n', type_params=None, args=['-6365823152927076485'], kwargs=None), CallNode(id='2577395883600318882', function='ModRef.fn\\n', type_params=None, args=['-5268980088725424495', '6806303904774431906', '-4061110614390901054', '7729659479367345739'], kwargs=None), CallNode(id='7951160857690686600', function='FnRef._block\\n', type_params=None, args=['-2218400885834023263', '2174576262982190149', '-8647664536320713804', '2608332961566761191'], kwargs=None), CallNode(id='5023240979943610418', function='FnRef.arguments\\n', type_params=None, args=['-2218400885834023263'], kwargs=None), CallNode(id='-5638314817888026788', function='FnRef._block\\n', type_params=None, args=['2577395883600318882', '2174576262982190149', '976784040273971118', '2947207602459711360'], kwargs=None), CallNode(id='-5422495757318403904', function='FnRef.arguments\\n', type_params=None, args=['2577395883600318882'], kwargs=None), CallNode(id='8461982151890667011', function='Vec.__getitem__\\n', type_params={'T': DeclaredTypeInstance(type='Value', params=None)}, args=['5023240979943610418', '8201783764071103985'], kwargs=None), CallNode(id='635923134813548604', function='Vec.__getitem__\\n', type_params={'T': DeclaredTypeInstance(type='Value', params=None)}, args=['5023240979943610418', '-7137755224053718221'], kwargs=None), CallNode(id='3724665536811306164', function='BlockRef.call\\n', type_params=None, args=['-5638314817888026788', '-2218400885834023263', '-5422495757318403904'], kwargs=None), CallNode(id='7448014063738856064', function='BlockRef.add\\n', type_params=None, args=['7951160857690686600', '8461982151890667011', '635923134813548604'], kwargs=None), CallNode(id='6171584883724289054', function='BlockRef.ret\\n', type_params=None, args=['-5638314817888026788', '3724665536811306164'], kwargs=None), CallNode(id='1250368420182820110', function='BlockRef.add\\n', type_params=None, args=['7951160857690686600', '7448014063738856064', '-7409640487386521139'], kwargs=None), CallNode(id='-5801044027402444332', function='FnRef.fn\\n', type_params=None, args=['2577395883600318882', '6171584883724289054'], kwargs=None), CallNode(id='2486859605755769212', function='BlockRef.ret\\n', type_params=None, args=['7951160857690686600', '1250368420182820110'], kwargs=None), CallNode(id='-8095389861328720322', function='FnRef.fn\\n', type_params=None, args=['-2218400885834023263', '2486859605755769212'], kwargs=None), CallNode(id='1148571156894987451', function='ModRef.mod\\n', type_params=None, args=['-5268980088725424495', '-8095389861328720322', '-5801044027402444332'], kwargs=None), CallNode(id='-1344996332639330476', function='mod_str\\n', type_params=None, args=['1148571156894987451'], kwargs=None), CallNode(id='-3078149099989536460', function='ModuleRef.create\\n', type_params=None, args=['-1344996332639330476'], kwargs=None), CallNode(id='-483764435682537453', function='ModuleRef.optimize\\n', type_params=None, args=['-3078149099989536460', '-4262466165513757285'], kwargs=None), CallNode(id='8035627431527291533', function='ExecutionEngine.create\\n', type_params=None, args=['-483764435682537453'], kwargs=None), CallNode(id='-5203358949440154339', function='ExecutionEngine.get_function_address\\n', type_params=None, args=['8035627431527291533', '6806303904774431906'], kwargs=None), CallNode(id='-2904735076802383405', function='CFunctionType.__call__\\n', type_params=None, args=['7687852306347064831', '-5203358949440154339'], kwargs=None), PrimitiveNode(id='-3480119938960469851', type='Module', repr='; ModuleID = \"add\"\\ntarget triple = \"unknown-unknown-unknown\"\\ntarget datalayout = \"\"\\n\\ndeclare fastcc i32 @\"add\"(i32 %\".1\", i32 %\".2\") \\n\\ndeclare i32 @\"entry_add\"(i32 %\".1\", i32 %\".2\") \\n'), PrimitiveNode(id='-4476060215746635761', type='Function', repr='declare i32 @\"entry_add\"(i32 %\".1\", i32 %\".2\") \\n'), CallNode(id='-7573760946997925129', function='box_mod_ref\\n', type_params=None, args=['-3480119938960469851'], kwargs=None), CallNode(id='7350273108049436407', function='box_fn_ref\\n', type_params=None, args=['-4476060215746635761'], kwargs=None), CallNode(id='2859507103356479715', function='FnRef._block\\n', type_params=None, args=['7350273108049436407', '2174576262982190149', '976784040273971118', '2947207602459711360'], kwargs=None), CallNode(id='4150716148583423867', function='FnRef.arguments\\n', type_params=None, args=['7350273108049436407'], kwargs=None), CallNode(id='3330344192701630766', function='BlockRef.call\\n', type_params=None, args=['2859507103356479715', '-2218400885834023263', '4150716148583423867'], kwargs=None), CallNode(id='-121214436571695862', function='BlockRef.ret\\n', type_params=None, args=['2859507103356479715', '3330344192701630766'], kwargs=None), CallNode(id='-5258886012095224748', function='FnRef.fn\\n', type_params=None, args=['7350273108049436407', '-121214436571695862'], kwargs=None), CallNode(id='388659978722304642', function='ModRef.mod\\n', type_params=None, args=['-7573760946997925129', '-8095389861328720322', '-5258886012095224748'], kwargs=None), CallNode(id='-4820698266840803755', function='mod_str\\n', type_params=None, args=['388659978722304642'], kwargs=None), CallNode(id='-5194291801311459418', function='ModuleRef.create\\n', type_params=None, args=['-4820698266840803755'], kwargs=None), CallNode(id='456052627473687751', function='ModuleRef.optimize\\n', type_params=None, args=['-5194291801311459418', '-4262466165513757285'], kwargs=None), CallNode(id='-1035220273063917837', function='ExecutionEngine.create\\n', type_params=None, args=['456052627473687751'], kwargs=None), CallNode(id='6886212870425849868', function='ExecutionEngine.get_function_address\\n', type_params=None, args=['-1035220273063917837', '6806303904774431906'], kwargs=None), CallNode(id='5705526864255429749', function='CFunctionType.__call__\\n', type_params=None, args=['7687852306347064831', '6886212870425849868'], kwargs=None), PrimitiveNode(id='-8616766620450926175', type='Module', repr='; ModuleID = \"add\"\\ntarget triple = \"unknown-unknown-unknown\"\\ntarget datalayout = \"\"\\n\\ndefine fastcc i32 @\"add\"(i32 %\".1\", i32 %\".2\") \\n{\\n.4:\\n}\\n\\ndeclare i32 @\"entry_add\"(i32 %\".1\", i32 %\".2\") \\n'), PrimitiveNode(id='230562703464659681', type='Function', repr='define fastcc i32 @\"add\"(i32 %\".1\", i32 %\".2\") \\n{\\n.4:\\n}\\n'), PrimitiveNode(id='-1358308262478132887', type='IRBuilder', repr='IRBuilder: 0x1277a0ee0\\n%\".4\" = .4:'), CallNode(id='684732100447942046', function='box_mod_ref\\n', type_params=None, args=['-8616766620450926175'], kwargs=None), CallNode(id='7320676328801235784', function='box_fn_ref\\n', type_params=None, args=['230562703464659681'], kwargs=None), CallNode(id='-7646059045988806171', function='box_block_ref\\n', type_params=None, args=['-1358308262478132887'], kwargs=None), CallNode(id='2056894611562930578', function='FnRef.arguments\\n', type_params=None, args=['7320676328801235784'], kwargs=None), CallNode(id='1849149388822894749', function='Vec.__getitem__\\n', type_params={'T': DeclaredTypeInstance(type='Value', params=None)}, args=['2056894611562930578', '8201783764071103985'], kwargs=None), CallNode(id='8824250930422668626', function='Vec.__getitem__\\n', type_params={'T': DeclaredTypeInstance(type='Value', params=None)}, args=['2056894611562930578', '-7137755224053718221'], kwargs=None), CallNode(id='1038620512564134236', function='BlockRef.call\\n', type_params=None, args=['2859507103356479715', '7320676328801235784', '4150716148583423867'], kwargs=None), CallNode(id='1857734564745694151', function='BlockRef.add\\n', type_params=None, args=['-7646059045988806171', '1849149388822894749', '8824250930422668626'], kwargs=None), CallNode(id='277829836933800751', function='BlockRef.ret\\n', type_params=None, args=['2859507103356479715', '1038620512564134236'], kwargs=None), CallNode(id='-7232781937289323890', function='BlockRef.add\\n', type_params=None, args=['-7646059045988806171', '1857734564745694151', '-7409640487386521139'], kwargs=None), CallNode(id='-5492521260853025386', function='FnRef.fn\\n', type_params=None, args=['7350273108049436407', '277829836933800751'], kwargs=None), CallNode(id='1764023488433457295', function='BlockRef.ret\\n', type_params=None, args=['-7646059045988806171', '-7232781937289323890'], kwargs=None), CallNode(id='-2740387565529241314', function='FnRef.fn\\n', type_params=None, args=['7320676328801235784', '1764023488433457295'], kwargs=None), CallNode(id='-2907825485637063619', function='ModRef.mod\\n', type_params=None, args=['684732100447942046', '-2740387565529241314', '-5492521260853025386'], kwargs=None), CallNode(id='-3609961014752936914', function='mod_str\\n', type_params=None, args=['-2907825485637063619'], kwargs=None), CallNode(id='5736301672708036653', function='ModuleRef.create\\n', type_params=None, args=['-3609961014752936914'], kwargs=None), CallNode(id='532307074425285428', function='ModuleRef.optimize\\n', type_params=None, args=['5736301672708036653', '-4262466165513757285'], kwargs=None), CallNode(id='-5293672028749261856', function='ExecutionEngine.create\\n', type_params=None, args=['532307074425285428'], kwargs=None), CallNode(id='-3806273562969866772', function='ExecutionEngine.get_function_address\\n', type_params=None, args=['-5293672028749261856', '6806303904774431906'], kwargs=None), CallNode(id='8187469883521495923', function='CFunctionType.__call__\\n', type_params=None, args=['7687852306347064831', '-3806273562969866772'], kwargs=None), PrimitiveNode(id='4884939422703405032', type='Argument', repr='i32 %\".1\"'), PrimitiveNode(id='990080689678426816', type='Argument', repr='i32 %\".2\"'), CallNode(id='4773850645235462944', function='box_value\\n', type_params=None, args=['4884939422703405032'], kwargs=None), CallNode(id='-457045296072545689', function='box_value\\n', type_params=None, args=['990080689678426816'], kwargs=None), CallNode(id='-2360964863422699735', function='Vec.create\\n', type_params=None, args=['4773850645235462944', '-457045296072545689'], kwargs=None), CallNode(id='7183383113435900937', function='Vec.__getitem__\\n', type_params={'T': DeclaredTypeInstance(type='Value', params=None)}, args=['-2360964863422699735', '8201783764071103985'], kwargs=None), CallNode(id='-7667560311201432751', function='Vec.__getitem__\\n', type_params={'T': DeclaredTypeInstance(type='Value', params=None)}, args=['-2360964863422699735', '-7137755224053718221'], kwargs=None), CallNode(id='-5804484000608012429', function='BlockRef.add\\n', type_params=None, args=['-7646059045988806171', '7183383113435900937', '-7667560311201432751'], kwargs=None), CallNode(id='-7849831369147674521', function='BlockRef.add\\n', type_params=None, args=['-7646059045988806171', '-5804484000608012429', '-7409640487386521139'], kwargs=None), CallNode(id='-8765303508334512312', function='BlockRef.ret\\n', type_params=None, args=['-7646059045988806171', '-7849831369147674521'], kwargs=None), CallNode(id='-4538582098898548692', function='FnRef.fn\\n', type_params=None, args=['7320676328801235784', '-8765303508334512312'], kwargs=None), CallNode(id='-935093898774957283', function='ModRef.mod\\n', type_params=None, args=['684732100447942046', '-4538582098898548692', '-5492521260853025386'], kwargs=None), CallNode(id='5143404171982896843', function='mod_str\\n', type_params=None, args=['-935093898774957283'], kwargs=None), CallNode(id='-2321542893632313005', function='ModuleRef.create\\n', type_params=None, args=['5143404171982896843'], kwargs=None), CallNode(id='3046387210161361053', function='ModuleRef.optimize\\n', type_params=None, args=['-2321542893632313005', '-4262466165513757285'], kwargs=None), CallNode(id='4449605606974820924', function='ExecutionEngine.create\\n', type_params=None, args=['3046387210161361053'], kwargs=None), CallNode(id='-2193863220416833336', function='ExecutionEngine.get_function_address\\n', type_params=None, args=['4449605606974820924', '6806303904774431906'], kwargs=None), CallNode(id='-635990140872515928', function='CFunctionType.__call__\\n', type_params=None, args=['7687852306347064831', '-2193863220416833336'], kwargs=None), PrimitiveNode(id='4113625402893311110', type='Module', repr='; ModuleID = \"add\"\\ntarget triple = \"unknown-unknown-unknown\"\\ntarget datalayout = \"\"\\n\\ndefine fastcc i32 @\"add\"(i32 %\".1\", i32 %\".2\") \\n{\\n.4:\\n}\\n\\ndefine i32 @\"entry_add\"(i32 %\".1\", i32 %\".2\") \\n{\\nentry:\\n}\\n'), PrimitiveNode(id='460734241286828772', type='Function', repr='define i32 @\"entry_add\"(i32 %\".1\", i32 %\".2\") \\n{\\nentry:\\n}\\n'), PrimitiveNode(id='8832404316440713991', type='IRBuilder', repr='IRBuilder: 0x1276db8b0\\n%\"entry\" = entry:'), CallNode(id='1953927235303470179', function='box_mod_ref\\n', type_params=None, args=['4113625402893311110'], kwargs=None), CallNode(id='5773416485695497650', function='box_fn_ref\\n', type_params=None, args=['460734241286828772'], kwargs=None), CallNode(id='-6627327860256661864', function='box_block_ref\\n', type_params=None, args=['8832404316440713991'], kwargs=None), CallNode(id='7748290762070771013', function='FnRef.arguments\\n', type_params=None, args=['5773416485695497650'], kwargs=None), CallNode(id='-5695669960013116298', function='BlockRef.call\\n', type_params=None, args=['-6627327860256661864', '7320676328801235784', '7748290762070771013'], kwargs=None), CallNode(id='-4027979178085759129', function='BlockRef.ret\\n', type_params=None, args=['-6627327860256661864', '-5695669960013116298'], kwargs=None), CallNode(id='-3976310361105988878', function='FnRef.fn\\n', type_params=None, args=['5773416485695497650', '-4027979178085759129'], kwargs=None), CallNode(id='-7692220579820852356', function='ModRef.mod\\n', type_params=None, args=['1953927235303470179', '-4538582098898548692', '-3976310361105988878'], kwargs=None), CallNode(id='-3555857679371071466', function='mod_str\\n', type_params=None, args=['-7692220579820852356'], kwargs=None), CallNode(id='-5268499624361936425', function='ModuleRef.create\\n', type_params=None, args=['-3555857679371071466'], kwargs=None), CallNode(id='2847897687484846937', function='ModuleRef.optimize\\n', type_params=None, args=['-5268499624361936425', '-4262466165513757285'], kwargs=None), CallNode(id='4103493795707607647', function='ExecutionEngine.create\\n', type_params=None, args=['2847897687484846937'], kwargs=None), CallNode(id='-7426630461572359877', function='ExecutionEngine.get_function_address\\n', type_params=None, args=['4103493795707607647', '6806303904774431906'], kwargs=None), CallNode(id='-2882256857405778138', function='CFunctionType.__call__\\n', type_params=None, args=['7687852306347064831', '-7426630461572359877'], kwargs=None), PrimitiveNode(id='4694378520196204749', type='Argument', repr='i32 %\".1\"'), PrimitiveNode(id='-6718486796741816489', type='Argument', repr='i32 %\".2\"'), CallNode(id='-7577198542581842717', function='box_value\\n', type_params=None, args=['4694378520196204749'], kwargs=None), CallNode(id='-8359695037674106552', function='box_value\\n', type_params=None, args=['-6718486796741816489'], kwargs=None), CallNode(id='4569909918260782283', function='Vec.create\\n', type_params=None, args=['-7577198542581842717', '-8359695037674106552'], kwargs=None), CallNode(id='3332402666637101487', function='BlockRef.call\\n', type_params=None, args=['-6627327860256661864', '7320676328801235784', '4569909918260782283'], kwargs=None), CallNode(id='4648577401649392895', function='BlockRef.ret\\n', type_params=None, args=['-6627327860256661864', '3332402666637101487'], kwargs=None), CallNode(id='-4850991353252001897', function='FnRef.fn\\n', type_params=None, args=['5773416485695497650', '4648577401649392895'], kwargs=None), CallNode(id='-7998770828988010878', function='ModRef.mod\\n', type_params=None, args=['1953927235303470179', '-4538582098898548692', '-4850991353252001897'], kwargs=None), CallNode(id='-5195855356363246538', function='mod_str\\n', type_params=None, args=['-7998770828988010878'], kwargs=None), CallNode(id='-4850421229678803417', function='ModuleRef.create\\n', type_params=None, args=['-5195855356363246538'], kwargs=None), CallNode(id='-6606890280023955444', function='ModuleRef.optimize\\n', type_params=None, args=['-4850421229678803417', '-4262466165513757285'], kwargs=None), CallNode(id='-6116678143312425516', function='ExecutionEngine.create\\n', type_params=None, args=['-6606890280023955444'], kwargs=None), CallNode(id='7807873319738257061', function='ExecutionEngine.get_function_address\\n', type_params=None, args=['-6116678143312425516', '6806303904774431906'], kwargs=None), CallNode(id='-3117652534798661427', function='CFunctionType.__call__\\n', type_params=None, args=['7687852306347064831', '7807873319738257061'], kwargs=None), CallNode(id='9130557453901383540', function='BlockRef.add\\n', type_params=None, args=['-7646059045988806171', '4773850645235462944', '-7667560311201432751'], kwargs=None), CallNode(id='8613394024698408591', function='BlockRef.add\\n', type_params=None, args=['-7646059045988806171', '9130557453901383540', '-7409640487386521139'], kwargs=None), CallNode(id='4302140313485585771', function='BlockRef.ret\\n', type_params=None, args=['-7646059045988806171', '8613394024698408591'], kwargs=None), CallNode(id='3879333785448784410', function='FnRef.fn\\n', type_params=None, args=['7320676328801235784', '4302140313485585771'], kwargs=None), CallNode(id='4589899157863457166', function='ModRef.mod\\n', type_params=None, args=['1953927235303470179', '3879333785448784410', '-4850991353252001897'], kwargs=None), CallNode(id='-2936436342790956780', function='mod_str\\n', type_params=None, args=['4589899157863457166'], kwargs=None), CallNode(id='-6799452028902798849', function='ModuleRef.create\\n', type_params=None, args=['-2936436342790956780'], kwargs=None), CallNode(id='5705451112982133224', function='ModuleRef.optimize\\n', type_params=None, args=['-6799452028902798849', '-4262466165513757285'], kwargs=None), CallNode(id='4026702295743708107', function='ExecutionEngine.create\\n', type_params=None, args=['5705451112982133224'], kwargs=None), CallNode(id='-2020416362090079502', function='ExecutionEngine.get_function_address\\n', type_params=None, args=['4026702295743708107', '6806303904774431906'], kwargs=None), CallNode(id='6721391536030997370', function='CFunctionType.__call__\\n', type_params=None, args=['7687852306347064831', '-2020416362090079502'], kwargs=None), CallNode(id='-5457781473920497395', function='BlockRef.add\\n', type_params=None, args=['-7646059045988806171', '4773850645235462944', '-457045296072545689'], kwargs=None), CallNode(id='8462931009100965516', function='BlockRef.add\\n', type_params=None, args=['-7646059045988806171', '-5457781473920497395', '-7409640487386521139'], kwargs=None), CallNode(id='6754303677600864245', function='BlockRef.ret\\n', type_params=None, args=['-7646059045988806171', '8462931009100965516'], kwargs=None), CallNode(id='6462949954306848281', function='FnRef.fn\\n', type_params=None, args=['7320676328801235784', '6754303677600864245'], kwargs=None), CallNode(id='7713666158697714007', function='ModRef.mod\\n', type_params=None, args=['1953927235303470179', '6462949954306848281', '-4850991353252001897'], kwargs=None), CallNode(id='-8898222447569189669', function='mod_str\\n', type_params=None, args=['7713666158697714007'], kwargs=None), CallNode(id='-2009983025990355310', function='ModuleRef.create\\n', type_params=None, args=['-8898222447569189669'], kwargs=None), CallNode(id='5496863095658460143', function='ModuleRef.optimize\\n', type_params=None, args=['-2009983025990355310', '-4262466165513757285'], kwargs=None), CallNode(id='-6839876900501585709', function='ExecutionEngine.create\\n', type_params=None, args=['5496863095658460143'], kwargs=None), CallNode(id='-6311496786604541731', function='ExecutionEngine.get_function_address\\n', type_params=None, args=['-6839876900501585709', '6806303904774431906'], kwargs=None), CallNode(id='-3476404583979063908', function='CFunctionType.__call__\\n', type_params=None, args=['7687852306347064831', '-6311496786604541731'], kwargs=None), PrimitiveNode(id='-561723673077771349', type='Module', repr='; ModuleID = \"add\"\\ntarget triple = \"unknown-unknown-unknown\"\\ntarget datalayout = \"\"\\n\\ndefine fastcc i32 @\"add\"(i32 %\".1\", i32 %\".2\") \\n{\\n.4:\\n  %\".5\" = add i32 %\".1\", %\".2\"\\n}\\n\\ndefine i32 @\"entry_add\"(i32 %\".1\", i32 %\".2\") \\n{\\nentry:\\n}\\n'), PrimitiveNode(id='-6748151314484801537', type='Function', repr='define fastcc i32 @\"add\"(i32 %\".1\", i32 %\".2\") \\n{\\n.4:\\n  %\".5\" = add i32 %\".1\", %\".2\"\\n}\\n'), PrimitiveNode(id='62983228206312800', type='Instruction', repr='%\".5\" = add i32 %\".1\", %\".2\"'), CallNode(id='5697954373957169232', function='box_mod_ref\\n', type_params=None, args=['-561723673077771349'], kwargs=None), CallNode(id='597381349805453495', function='box_fn_ref\\n', type_params=None, args=['-6748151314484801537'], kwargs=None), CallNode(id='-2756079850981886082', function='box_value\\n', type_params=None, args=['62983228206312800'], kwargs=None), CallNode(id='4064287690182462610', function='BlockRef.add\\n', type_params=None, args=['-7646059045988806171', '-2756079850981886082', '-7409640487386521139'], kwargs=None), CallNode(id='-8731288235416324645', function='BlockRef.ret\\n', type_params=None, args=['-7646059045988806171', '4064287690182462610'], kwargs=None), CallNode(id='-3189881677661394359', function='BlockRef.call\\n', type_params=None, args=['-6627327860256661864', '597381349805453495', '4569909918260782283'], kwargs=None), CallNode(id='-4284446709205131482', function='FnRef.fn\\n', type_params=None, args=['597381349805453495', '-8731288235416324645'], kwargs=None), CallNode(id='5410689123778265929', function='BlockRef.ret\\n', type_params=None, args=['-6627327860256661864', '-3189881677661394359'], kwargs=None), CallNode(id='-8024367701873771239', function='FnRef.fn\\n', type_params=None, args=['5773416485695497650', '5410689123778265929'], kwargs=None), CallNode(id='3478029610939963078', function='ModRef.mod\\n', type_params=None, args=['5697954373957169232', '-4284446709205131482', '-8024367701873771239'], kwargs=None), CallNode(id='3669559158555285086', function='mod_str\\n', type_params=None, args=['3478029610939963078'], kwargs=None), CallNode(id='5674178950746645042', function='ModuleRef.create\\n', type_params=None, args=['3669559158555285086'], kwargs=None), CallNode(id='541472896745241754', function='ModuleRef.optimize\\n', type_params=None, args=['5674178950746645042', '-4262466165513757285'], kwargs=None), CallNode(id='6546805954348796006', function='ExecutionEngine.create\\n', type_params=None, args=['541472896745241754'], kwargs=None), CallNode(id='-6065467574458732652', function='ExecutionEngine.get_function_address\\n', type_params=None, args=['6546805954348796006', '6806303904774431906'], kwargs=None), CallNode(id='-3226175549398803512', function='CFunctionType.__call__\\n', type_params=None, args=['7687852306347064831', '-6065467574458732652'], kwargs=None), PrimitiveNode(id='3150118411244665247', type='Module', repr='; ModuleID = \"add\"\\ntarget triple = \"unknown-unknown-unknown\"\\ntarget datalayout = \"\"\\n\\ndefine fastcc i32 @\"add\"(i32 %\".1\", i32 %\".2\") \\n{\\n.4:\\n  %\".5\" = add i32 %\".1\", %\".2\"\\n  %\".6\" = add i32 %\".5\", 1\\n}\\n\\ndefine i32 @\"entry_add\"(i32 %\".1\", i32 %\".2\") \\n{\\nentry:\\n}\\n'), PrimitiveNode(id='-4521217075823368844', type='Function', repr='define fastcc i32 @\"add\"(i32 %\".1\", i32 %\".2\") \\n{\\n.4:\\n  %\".5\" = add i32 %\".1\", %\".2\"\\n  %\".6\" = add i32 %\".5\", 1\\n}\\n'), PrimitiveNode(id='8310349249900029431', type='Instruction', repr='%\".6\" = add i32 %\".5\", 1'), CallNode(id='5755703725934215620', function='box_mod_ref\\n', type_params=None, args=['3150118411244665247'], kwargs=None), CallNode(id='-6187946958979993611', function='box_fn_ref\\n', type_params=None, args=['-4521217075823368844'], kwargs=None), CallNode(id='-6341434491142961357', function='box_value\\n', type_params=None, args=['8310349249900029431'], kwargs=None), CallNode(id='-5550583072563358341', function='BlockRef.ret\\n', type_params=None, args=['-7646059045988806171', '-6341434491142961357'], kwargs=None), CallNode(id='-3983031826617672848', function='FnRef.fn\\n', type_params=None, args=['-6187946958979993611', '-5550583072563358341'], kwargs=None), CallNode(id='2258621734712705403', function='BlockRef.call\\n', type_params=None, args=['-6627327860256661864', '-6187946958979993611', '4569909918260782283'], kwargs=None), CallNode(id='3844949186756700236', function='BlockRef.ret\\n', type_params=None, args=['-6627327860256661864', '2258621734712705403'], kwargs=None), CallNode(id='7234676123366051515', function='FnRef.fn\\n', type_params=None, args=['5773416485695497650', '3844949186756700236'], kwargs=None), CallNode(id='-5984424167297617810', function='ModRef.mod\\n', type_params=None, args=['5755703725934215620', '-3983031826617672848', '7234676123366051515'], kwargs=None), CallNode(id='-287636674090841439', function='mod_str\\n', type_params=None, args=['-5984424167297617810'], kwargs=None), CallNode(id='3560647168334869247', function='ModuleRef.create\\n', type_params=None, args=['-287636674090841439'], kwargs=None), CallNode(id='6672405402146242306', function='ModuleRef.optimize\\n', type_params=None, args=['3560647168334869247', '-4262466165513757285'], kwargs=None), CallNode(id='2374955757898026327', function='ExecutionEngine.create\\n', type_params=None, args=['6672405402146242306'], kwargs=None), CallNode(id='-3824933996463172800', function='ExecutionEngine.get_function_address\\n', type_params=None, args=['2374955757898026327', '6806303904774431906'], kwargs=None), CallNode(id='5766317548030036279', function='CFunctionType.__call__\\n', type_params=None, args=['7687852306347064831', '-3824933996463172800'], kwargs=None), PrimitiveNode(id='-6840011678771510421', type='Module', repr='; ModuleID = \"add\"\\ntarget triple = \"unknown-unknown-unknown\"\\ntarget datalayout = \"\"\\n\\ndefine fastcc i32 @\"add\"(i32 %\".1\", i32 %\".2\") \\n{\\n.4:\\n  %\".5\" = add i32 %\".1\", %\".2\"\\n  %\".6\" = add i32 %\".5\", 1\\n  ret i32 %\".6\"\\n}\\n\\ndefine i32 @\"entry_add\"(i32 %\".1\", i32 %\".2\") \\n{\\nentry:\\n}\\n'), PrimitiveNode(id='2462831514630382575', type='Function', repr='define fastcc i32 @\"add\"(i32 %\".1\", i32 %\".2\") \\n{\\n.4:\\n  %\".5\" = add i32 %\".1\", %\".2\"\\n  %\".6\" = add i32 %\".5\", 1\\n  ret i32 %\".6\"\\n}\\n'), CallNode(id='-4438626330310476197', function='box_mod_ref\\n', type_params=None, args=['-6840011678771510421'], kwargs=None), CallNode(id='-9000946648613824017', function='box_fn_ref\\n', type_params=None, args=['2462831514630382575'], kwargs=None), CallNode(id='7631274592430440212', function='box_terminate\\n', type_params=None, args=['-1358308262478132887'], kwargs=None), CallNode(id='2785581160447074992', function='FnRef.fn\\n', type_params=None, args=['-9000946648613824017', '7631274592430440212'], kwargs=None), CallNode(id='-4031805847874142510', function='BlockRef.call\\n', type_params=None, args=['-6627327860256661864', '-9000946648613824017', '4569909918260782283'], kwargs=None), CallNode(id='3696779924293428425', function='BlockRef.ret\\n', type_params=None, args=['-6627327860256661864', '-4031805847874142510'], kwargs=None), CallNode(id='-1237153991482429046', function='FnRef.fn\\n', type_params=None, args=['5773416485695497650', '3696779924293428425'], kwargs=None), CallNode(id='-3000019319582467181', function='ModRef.mod\\n', type_params=None, args=['-4438626330310476197', '2785581160447074992', '-1237153991482429046'], kwargs=None), CallNode(id='2822054892987170722', function='mod_str\\n', type_params=None, args=['-3000019319582467181'], kwargs=None), CallNode(id='2326508416122834868', function='ModuleRef.create\\n', type_params=None, args=['2822054892987170722'], kwargs=None), CallNode(id='-6041322024270221026', function='ModuleRef.optimize\\n', type_params=None, args=['2326508416122834868', '-4262466165513757285'], kwargs=None), CallNode(id='556165697579548569', function='ExecutionEngine.create\\n', type_params=None, args=['-6041322024270221026'], kwargs=None), CallNode(id='8737348685968280686', function='ExecutionEngine.get_function_address\\n', type_params=None, args=['556165697579548569', '6806303904774431906'], kwargs=None), CallNode(id='4959732644872606120', function='CFunctionType.__call__\\n', type_params=None, args=['7687852306347064831', '8737348685968280686'], kwargs=None), CallNode(id='-2028961857730918039', function='FnRef.fn\\n', type_params=None, args=['-9000946648613824017'], kwargs=None), CallNode(id='-9005441360496699149', function='ModRef.mod\\n', type_params=None, args=['-4438626330310476197', '-2028961857730918039', '-1237153991482429046'], kwargs=None), CallNode(id='6054264842826260209', function='mod_str\\n', type_params=None, args=['-9005441360496699149'], kwargs=None), CallNode(id='-5738635845457405435', function='ModuleRef.create\\n', type_params=None, args=['6054264842826260209'], kwargs=None), CallNode(id='7057380163479405082', function='ModuleRef.optimize\\n', type_params=None, args=['-5738635845457405435', '-4262466165513757285'], kwargs=None), CallNode(id='-118495551907343518', function='ExecutionEngine.create\\n', type_params=None, args=['7057380163479405082'], kwargs=None), CallNode(id='-5164091124738105464', function='ExecutionEngine.get_function_address\\n', type_params=None, args=['-118495551907343518', '6806303904774431906'], kwargs=None), CallNode(id='-7660547217031557418', function='CFunctionType.__call__\\n', type_params=None, args=['7687852306347064831', '-5164091124738105464'], kwargs=None), CallNode(id='-1450552482430945590', function='box_fn\\n', type_params=None, args=['2462831514630382575'], kwargs=None), CallNode(id='7641208120904439152', function='ModRef.mod\\n', type_params=None, args=['-4438626330310476197', '-1450552482430945590', '-1237153991482429046'], kwargs=None), CallNode(id='-4506143487614490172', function='mod_str\\n', type_params=None, args=['7641208120904439152'], kwargs=None), CallNode(id='8197808319514907742', function='ModuleRef.create\\n', type_params=None, args=['-4506143487614490172'], kwargs=None), CallNode(id='-5665386746845106772', function='ModuleRef.optimize\\n', type_params=None, args=['8197808319514907742', '-4262466165513757285'], kwargs=None), CallNode(id='-8892547278482113960', function='ExecutionEngine.create\\n', type_params=None, args=['-5665386746845106772'], kwargs=None), CallNode(id='-1568426754413241435', function='ExecutionEngine.get_function_address\\n', type_params=None, args=['-8892547278482113960', '6806303904774431906'], kwargs=None), CallNode(id='441148786628745106', function='CFunctionType.__call__\\n', type_params=None, args=['7687852306347064831', '-1568426754413241435'], kwargs=None), PrimitiveNode(id='-7015945870960538181', type='Module', repr='; ModuleID = \"add\"\\ntarget triple = \"unknown-unknown-unknown\"\\ntarget datalayout = \"\"\\n\\ndefine fastcc i32 @\"add\"(i32 %\".1\", i32 %\".2\") \\n{\\n.4:\\n  %\".5\" = add i32 %\".1\", %\".2\"\\n  %\".6\" = add i32 %\".5\", 1\\n  ret i32 %\".6\"\\n}\\n\\ndefine i32 @\"entry_add\"(i32 %\".1\", i32 %\".2\") \\n{\\nentry:\\n  %\".4\" = call fastcc i32 @\"add\"(i32 %\".1\", i32 %\".2\")\\n}\\n'), PrimitiveNode(id='861794450030575349', type='Function', repr='define i32 @\"entry_add\"(i32 %\".1\", i32 %\".2\") \\n{\\nentry:\\n  %\".4\" = call fastcc i32 @\"add\"(i32 %\".1\", i32 %\".2\")\\n}\\n'), PrimitiveNode(id='253299177968431648', type='CallInstr', repr='%\".4\" = call fastcc i32 @\"add\"(i32 %\".1\", i32 %\".2\")'), CallNode(id='-7227657960946363945', function='box_mod_ref\\n', type_params=None, args=['-7015945870960538181'], kwargs=None), CallNode(id='945887654696213423', function='box_fn_ref\\n', type_params=None, args=['861794450030575349'], kwargs=None), CallNode(id='5527587767450353229', function='box_value\\n', type_params=None, args=['253299177968431648'], kwargs=None), CallNode(id='-1343527603808893717', function='BlockRef.ret\\n', type_params=None, args=['-6627327860256661864', '5527587767450353229'], kwargs=None), CallNode(id='-5600349886079301328', function='FnRef.fn\\n', type_params=None, args=['945887654696213423', '-1343527603808893717'], kwargs=None), CallNode(id='-4570119172453349802', function='ModRef.mod\\n', type_params=None, args=['-7227657960946363945', '-1450552482430945590', '-5600349886079301328'], kwargs=None), CallNode(id='-3633530007947542381', function='mod_str\\n', type_params=None, args=['-4570119172453349802'], kwargs=None), CallNode(id='-5573208150817364629', function='ModuleRef.create\\n', type_params=None, args=['-3633530007947542381'], kwargs=None), CallNode(id='-4953465525990849186', function='ModuleRef.optimize\\n', type_params=None, args=['-5573208150817364629', '-4262466165513757285'], kwargs=None), CallNode(id='4778283170639508224', function='ExecutionEngine.create\\n', type_params=None, args=['-4953465525990849186'], kwargs=None), CallNode(id='7402038812160615879', function='ExecutionEngine.get_function_address\\n', type_params=None, args=['4778283170639508224', '6806303904774431906'], kwargs=None), CallNode(id='-8650430477847290020', function='CFunctionType.__call__\\n', type_params=None, args=['7687852306347064831', '7402038812160615879'], kwargs=None), PrimitiveNode(id='529457704414604717', type='Module', repr='; ModuleID = \"add\"\\ntarget triple = \"unknown-unknown-unknown\"\\ntarget datalayout = \"\"\\n\\ndefine fastcc i32 @\"add\"(i32 %\".1\", i32 %\".2\") \\n{\\n.4:\\n  %\".5\" = add i32 %\".1\", %\".2\"\\n  %\".6\" = add i32 %\".5\", 1\\n  ret i32 %\".6\"\\n}\\n\\ndefine i32 @\"entry_add\"(i32 %\".1\", i32 %\".2\") \\n{\\nentry:\\n  %\".4\" = call fastcc i32 @\"add\"(i32 %\".1\", i32 %\".2\")\\n  ret i32 %\".4\"\\n}\\n'), PrimitiveNode(id='668033338221422191', type='Function', repr='define i32 @\"entry_add\"(i32 %\".1\", i32 %\".2\") \\n{\\nentry:\\n  %\".4\" = call fastcc i32 @\"add\"(i32 %\".1\", i32 %\".2\")\\n  ret i32 %\".4\"\\n}\\n'), CallNode(id='5094306500362197061', function='box_mod_ref\\n', type_params=None, args=['529457704414604717'], kwargs=None), CallNode(id='-934632611011018235', function='box_fn_ref\\n', type_params=None, args=['668033338221422191'], kwargs=None), CallNode(id='8650005778162584519', function='box_terminate\\n', type_params=None, args=['8832404316440713991'], kwargs=None), CallNode(id='-8919251661204696944', function='FnRef.fn\\n', type_params=None, args=['-934632611011018235', '8650005778162584519'], kwargs=None), CallNode(id='-4503224799296637876', function='ModRef.mod\\n', type_params=None, args=['5094306500362197061', '-1450552482430945590', '-8919251661204696944'], kwargs=None), CallNode(id='-6594096091429549139', function='mod_str\\n', type_params=None, args=['-4503224799296637876'], kwargs=None), CallNode(id='-3826558971321969930', function='ModuleRef.create\\n', type_params=None, args=['-6594096091429549139'], kwargs=None), CallNode(id='-6141958482123667200', function='ModuleRef.optimize\\n', type_params=None, args=['-3826558971321969930', '-4262466165513757285'], kwargs=None), CallNode(id='5344746186025652567', function='ExecutionEngine.create\\n', type_params=None, args=['-6141958482123667200'], kwargs=None), CallNode(id='6229397339584276551', function='ExecutionEngine.get_function_address\\n', type_params=None, args=['5344746186025652567', '6806303904774431906'], kwargs=None), CallNode(id='-7550566799044451848', function='CFunctionType.__call__\\n', type_params=None, args=['7687852306347064831', '6229397339584276551'], kwargs=None), CallNode(id='-1616023006129522144', function='FnRef.fn\\n', type_params=None, args=['-934632611011018235'], kwargs=None), CallNode(id='7244617590320265916', function='ModRef.mod\\n', type_params=None, args=['5094306500362197061', '-1450552482430945590', '-1616023006129522144'], kwargs=None), CallNode(id='8865586907797951939', function='mod_str\\n', type_params=None, args=['7244617590320265916'], kwargs=None), CallNode(id='-2885968895108731588', function='ModuleRef.create\\n', type_params=None, args=['8865586907797951939'], kwargs=None), CallNode(id='-2095263875185495744', function='ModuleRef.optimize\\n', type_params=None, args=['-2885968895108731588', '-4262466165513757285'], kwargs=None), CallNode(id='209030434500530482', function='ExecutionEngine.create\\n', type_params=None, args=['-2095263875185495744'], kwargs=None), CallNode(id='-1580500996668309439', function='ExecutionEngine.get_function_address\\n', type_params=None, args=['209030434500530482', '6806303904774431906'], kwargs=None), CallNode(id='-8363099449071216883', function='CFunctionType.__call__\\n', type_params=None, args=['7687852306347064831', '-1580500996668309439'], kwargs=None), CallNode(id='-4784953229902834599', function='box_fn\\n', type_params=None, args=['668033338221422191'], kwargs=None), CallNode(id='7364324231596445551', function='ModRef.mod\\n', type_params=None, args=['5094306500362197061', '-1450552482430945590', '-4784953229902834599'], kwargs=None), CallNode(id='8296855481390675499', function='mod_str\\n', type_params=None, args=['7364324231596445551'], kwargs=None), CallNode(id='-5118990629934093272', function='ModuleRef.create\\n', type_params=None, args=['8296855481390675499'], kwargs=None), CallNode(id='7752460312500121395', function='ModuleRef.optimize\\n', type_params=None, args=['-5118990629934093272', '-4262466165513757285'], kwargs=None), CallNode(id='4241538517588867748', function='ExecutionEngine.create\\n', type_params=None, args=['7752460312500121395'], kwargs=None), CallNode(id='-5992386642796533320', function='ExecutionEngine.get_function_address\\n', type_params=None, args=['4241538517588867748', '6806303904774431906'], kwargs=None), CallNode(id='-2919567429423777224', function='CFunctionType.__call__\\n', type_params=None, args=['7687852306347064831', '-5992386642796533320'], kwargs=None), CallNode(id='6398545165940150538', function='ModRef.mod\\n', type_params=None, args=['5094306500362197061', '-4784953229902834599'], kwargs=None), CallNode(id='9184246281321676424', function='mod_str\\n', type_params=None, args=['6398545165940150538'], kwargs=None), CallNode(id='-9086102895239854069', function='ModuleRef.create\\n', type_params=None, args=['9184246281321676424'], kwargs=None), CallNode(id='-6052805604158725963', function='ModuleRef.optimize\\n', type_params=None, args=['-9086102895239854069', '-4262466165513757285'], kwargs=None), CallNode(id='773315350122804523', function='ExecutionEngine.create\\n', type_params=None, args=['-6052805604158725963'], kwargs=None), CallNode(id='-1246434954679827244', function='ExecutionEngine.get_function_address\\n', type_params=None, args=['773315350122804523', '6806303904774431906'], kwargs=None), CallNode(id='7476598601990581866', function='CFunctionType.__call__\\n', type_params=None, args=['7687852306347064831', '-1246434954679827244'], kwargs=None), CallNode(id='-8018739490842682834', function='ModRef.mod\\n', type_params=None, args=['5094306500362197061'], kwargs=None), CallNode(id='8530596409377839033', function='mod_str\\n', type_params=None, args=['-8018739490842682834'], kwargs=None), CallNode(id='-8669599904298291801', function='ModuleRef.create\\n', type_params=None, args=['8530596409377839033'], kwargs=None), CallNode(id='7010384417324450946', function='ModuleRef.optimize\\n', type_params=None, args=['-8669599904298291801', '-4262466165513757285'], kwargs=None), CallNode(id='-2603506352087859463', function='ExecutionEngine.create\\n', type_params=None, args=['7010384417324450946'], kwargs=None), CallNode(id='5635095102309740485', function='ExecutionEngine.get_function_address\\n', type_params=None, args=['-2603506352087859463', '6806303904774431906'], kwargs=None), CallNode(id='-3985457603794740432', function='CFunctionType.__call__\\n', type_params=None, args=['7687852306347064831', '5635095102309740485'], kwargs=None), CallNode(id='-6024851490733871275', function='box_mod\\n', type_params=None, args=['529457704414604717'], kwargs=None), CallNode(id='5584333091183698948', function='mod_str\\n', type_params=None, args=['-6024851490733871275'], kwargs=None), CallNode(id='-8837734340793303374', function='ModuleRef.create\\n', type_params=None, args=['5584333091183698948'], kwargs=None), CallNode(id='-2137577050940849889', function='ModuleRef.optimize\\n', type_params=None, args=['-8837734340793303374', '-4262466165513757285'], kwargs=None), CallNode(id='-4153520140543666812', function='ExecutionEngine.create\\n', type_params=None, args=['-2137577050940849889'], kwargs=None), CallNode(id='3487451133410115245', function='ExecutionEngine.get_function_address\\n', type_params=None, args=['-4153520140543666812', '6806303904774431906'], kwargs=None), CallNode(id='5760499326501589971', function='CFunctionType.__call__\\n', type_params=None, args=['7687852306347064831', '3487451133410115245'], kwargs=None), PrimitiveNode(id='2324620528842002511', type='str', repr='; ModuleID = \"add\"\\ntarget triple = \"unknown-unknown-unknown\"\\ntarget datalayout = \"\"\\n\\ndefine fastcc i32 @\"add\"(i32 %\".1\", i32 %\".2\") \\n{\\n.4:\\n  %\".5\" = add i32 %\".1\", %\".2\"\\n  %\".6\" = add i32 %\".5\", 1\\n  ret i32 %\".6\"\\n}\\n\\ndefine i32 @\"entry_add\"(i32 %\".1\", i32 %\".2\") \\n{\\nentry:\\n  %\".4\" = call fastcc i32 @\"add\"(i32 %\".1\", i32 %\".2\")\\n  ret i32 %\".4\"\\n}\\n'), CallNode(id='3793526345929253969', function='ModuleRef.create\\n', type_params=None, args=['2324620528842002511'], kwargs=None), CallNode(id='8383352817802694013', function='ModuleRef.optimize\\n', type_params=None, args=['3793526345929253969', '-4262466165513757285'], kwargs=None), CallNode(id='-5697111761419688808', function='ExecutionEngine.create\\n', type_params=None, args=['8383352817802694013'], kwargs=None), CallNode(id='-2918117938766259740', function='ExecutionEngine.get_function_address\\n', type_params=None, args=['-5697111761419688808', '6806303904774431906'], kwargs=None), CallNode(id='-5296320422260117959', function='CFunctionType.__call__\\n', type_params=None, args=['7687852306347064831', '-2918117938766259740'], kwargs=None), PrimitiveNode(id='7915422578369472552', type='PyCSimpleType', repr=\"<class 'ctypes.c_int'>\"), CallNode(id='-8332130295487525204', function='CType.box\\n', type_params=None, args=['7915422578369472552'], kwargs=None), CallNode(id='3415647876440634111', function='CFunctionType.create\\n', type_params=None, args=['-8332130295487525204', '-8332130295487525204', '-8332130295487525204'], kwargs=None), CallNode(id='-446054625915039273', function='CFunctionType.__call__\\n', type_params=None, args=['3415647876440634111', '-2918117938766259740'], kwargs=None), PrimitiveNode(id='-8345037993850220693', type='PyCFuncPtrType', repr=\"<class 'ctypes.CFUNCTYPE.<locals>.CFunctionType'>\"), CallNode(id='5294962929150932990', function='CFunctionType.box\\n', type_params=None, args=['-8345037993850220693'], kwargs=None), CallNode(id='6848375383423060400', function='CFunctionType.__call__\\n', type_params=None, args=['5294962929150932990', '-2918117938766259740'], kwargs=None), PrimitiveNode(id='-4115565638116065576', type='ModuleRef', repr='; ModuleID = \\'<string>\\'\\nsource_filename = \"<string>\"\\ntarget triple = \"unknown-unknown-unknown\"\\n\\ndefine fastcc i32 @add(i32 %.1, i32 %.2) {\\n.4:\\n  %.5 = add i32 %.1, %.2\\n  %.6 = add i32 %.5, 1\\n  ret i32 %.6\\n}\\n\\ndefine i32 @entry_add(i32 %.1, i32 %.2) {\\nentry:\\n  %.4 = call fastcc i32 @add(i32 %.1, i32 %.2)\\n  ret i32 %.4\\n}\\n'), CallNode(id='854733724262511217', function='ModuleRef.box\\n', type_params=None, args=['-4115565638116065576'], kwargs=None), CallNode(id='6043330849217052524', function='ModuleRef.optimize\\n', type_params=None, args=['854733724262511217', '-4262466165513757285'], kwargs=None), CallNode(id='6798092180823188152', function='ExecutionEngine.create\\n', type_params=None, args=['6043330849217052524'], kwargs=None), CallNode(id='-5648581227863508545', function='ExecutionEngine.get_function_address\\n', type_params=None, args=['6798092180823188152', '6806303904774431906'], kwargs=None), CallNode(id='-6786196278752720331', function='CFunctionType.__call__\\n', type_params=None, args=['5294962929150932990', '-5648581227863508545'], kwargs=None), CallNode(id='7076771242585214084', function='ExecutionEngine.create\\n', type_params=None, args=['854733724262511217'], kwargs=None), CallNode(id='5707084714860296399', function='ExecutionEngine.get_function_address\\n', type_params=None, args=['7076771242585214084', '6806303904774431906'], kwargs=None), CallNode(id='6108704507281983584', function='CFunctionType.__call__\\n', type_params=None, args=['5294962929150932990', '5707084714860296399'], kwargs=None), PrimitiveNode(id='4204236236066846025', type='ExecutionEngine', repr='<llvmlite.binding.executionengine.ExecutionEngine object at 0x1277c6f40>'), CallNode(id='-133135520381647779', function='ExecutionEngine.box\\n', type_params=None, args=['4204236236066846025'], kwargs=None), CallNode(id='-8646000508065462949', function='ExecutionEngine.get_function_address\\n', type_params=None, args=['-133135520381647779', '6806303904774431906'], kwargs=None), CallNode(id='-8558431301521666807', function='CFunctionType.__call__\\n', type_params=None, args=['5294962929150932990', '-8646000508065462949'], kwargs=None), PrimitiveNode(id='-1759195801175109873', type='int', repr='4370792460'), CallNode(id='-6820449032776078934', function='CFunctionType.__call__\\n', type_params=None, args=['5294962929150932990', '-1759195801175109873'], kwargs=None), PrimitiveNode(id='-5213402086641655001', type='CFUNCTYPE.<locals>.CFunctionType', repr='<CFunctionType object at 0x127017ac0>')], states=States(initial='-7544569675371277540', states=[State(node='-5019586593618753490', rule='metadsl_core.function.FunctionTwo.from_fn', logs='', label=None), State(node='-2788355527705886893', rule='metadsl_core.abstraction.Abstraction.from_fn', logs='', label=None), State(node='-930643336028134972', rule='metadsl_core.abstraction.Abstraction.from_fn', logs='', label=None), State(node='-930643336028134972', rule='pre', logs='', label='pre'), State(node='5886586016723971470', rule='metadsl_llvm.ir_context.llvm_fn_to_from_llvm_fn_2', logs='', label=None), State(node='2426738668306125690', rule='metadsl_core.function.two_unfix', logs='', label=None), State(node='156100273141255803', rule='metadsl_core.abstraction.Abstraction.from_fn', logs='', label=None), State(node='8628657531160297674', rule='metadsl_core.function.two_abstraction', logs='', label=None), State(node='9132669083728491155', rule='metadsl_core.abstraction.Abstraction.from_fn', logs='', label=None), State(node='-1394391032843183698', rule='metadsl_core.abstraction.Abstraction.from_fn', logs='', label=None), State(node='-913758672066533895', rule='metadsl_core.abstraction.unfix_normal', logs='', label=None), State(node='2151123622050638312', rule='metadsl_core.abstraction.Abstraction.from_fn', logs='', label=None), State(node='-2081876873245125389', rule='metadsl_core.abstraction.beta_reduce', logs='', label=None), State(node='1286210617869571187', rule='metadsl_core.function.two_name', logs='', label=None), State(node='-1354535539868343626', rule='metadsl_core.abstraction.beta_reduce', logs='', label=None), State(node='-7905984427308538627', rule='metadsl_core.function.two_call', logs='', label=None), State(node='-4119838992973478788', rule='metadsl_core.abstraction.beta_reduce', logs='', label=None), State(node='-8022234220835923176', rule='metadsl_core.abstraction.beta_reduce', logs='', label=None), State(node='7491188868433182843', rule='metadsl_llvm.ir_context.build_add', logs='', label=None), State(node='-5245901371472761258', rule='metadsl_llvm.ir_context.build_add', logs='', label=None), State(node='-2071111991601442015', rule='metadsl_llvm.ir_context.build_constant', logs='', label=None), State(node='-6869867667965491478', rule='metadsl_core.pair.pair_right', logs='', label=None), State(node='6201347518072070885', rule='metadsl_llvm.ir_context.build_constant', logs='', label=None), State(node='113287366078893314', rule='metadsl_core.pair.pair_right', logs='', label=None), State(node='2553384699913666718', rule='metadsl_core.pair.pair_left', logs='', label=None), State(node='1021502995084855687', rule='metadsl_core.pair.pair_left', logs='', label=None), State(node='1168265844924777888', rule='metadsl_core.pair.pair_left', logs='', label=None), State(node='-4631504847853063397', rule='metadsl_core.pair.pair_right', logs='', label=None), State(node='4743857191018809113', rule='metadsl_llvm.ir_context.build_constant', logs='', label=None), State(node='-4715996199302852246', rule='metadsl_core.pair.pair_right', logs='', label=None), State(node='8658624060902819995', rule='metadsl_core.pair.pair_left', logs='', label=None), State(node='-5202876725642697235', rule='metadsl_core.pair.pair_left', logs='', label=None), State(node='-5086356462657671653', rule='metadsl_core.pair.pair_left', logs='', label=None), State(node='-5988491255728222316', rule='metadsl_core.pair.pair_right', logs='', label=None), State(node='-5810529754943189185', rule='metadsl_core.pair.pair_right', logs='', label=None), State(node='5645337383557515900', rule='metadsl_core.pair.pair_left', logs='', label=None), State(node='-6919493787481518663', rule='metadsl_core.pair.pair_left', logs='', label=None), State(node='-3522698397710256046', rule='metadsl_llvm.ir.fn_add_block', logs='', label=None), State(node='-4682007217505606731', rule='metadsl_llvm.ir_context.to_from_llvm_fn_1[1]', logs='', label=None), State(node='-4022711592214600058', rule='metadsl_llvm.ir.fn_ref', logs='', label=None), State(node='-4022711592214600058', rule='llvmlite.context', logs='', label='llvmlite.context'), State(node='-1341249802870673600', rule='metadsl_llvm.integration.compile_function', logs='', label=None), State(node='4116661615998211984', rule='metadsl_llvm.ir.fn_ref_get_type', logs='', label=None), State(node='-8992343331704541651', rule='metadsl_llvm.integration.llvm_to_c_fn_type_rule', logs='', label=None), State(node='-1713872782020011907', rule='metadsl_llvm.integration.llvm_to_c_fn_int', logs='', label=None), State(node='2721796430436125539', rule='metadsl_llvm.ir.fn_ref_get_name', logs='', label=None), State(node='1360987208449411127', rule='metadsl_llvm.integration.concat_strings', logs='', label=None), State(node='-7089261329658232414', rule='metadsl_llvm.ir.mod_ref', logs='', label=None), State(node='-999818507167379704', rule='metadsl_llvm.ir.mod_add_fn', logs='', label=None), State(node='-999818507167379704', rule='llvmlite.integration', logs='', label='llvmlite.integration'), State(node='6016863737543877720', rule='metadsl_llvm.ir_llvmlite.box_mod_ref_create', logs='', label=None), State(node='-4844812588041245677', rule='metadsl_llvm.ir_llvmlite.type_create_int_box', logs='', label=None), State(node='-7464028114676333008', rule='metadsl_llvm.ir_llvmlite.function_type_box_2', logs='', label=None), State(node='2015437729955776343', rule='metadsl_llvm.ir_llvmlite.value_constant', logs='', label=None), State(node='-2904735076802383405', rule='metadsl_llvm.ir_llvmlite.box_fn_ref_create', logs='', label=None), State(node='5705526864255429749', rule='metadsl_llvm.ir_llvmlite.box_fn_ref_create', logs='', label=None), State(node='8187469883521495923', rule='metadsl_llvm.ir_llvmlite.block_ref_create', logs='', label=None), State(node='-635990140872515928', rule='metadsl_llvm.ir_llvmlite.fn_ref_arguments', logs='', label=None), State(node='-2882256857405778138', rule='metadsl_llvm.ir_llvmlite.block_ref_create', logs='', label=None), State(node='-3117652534798661427', rule='metadsl_llvm.ir_llvmlite.fn_ref_arguments', logs='', label=None), State(node='6721391536030997370', rule='metadsl_core.vec.getitem', logs='', label=None), State(node='-3476404583979063908', rule='metadsl_core.vec.getitem', logs='', label=None), State(node='-3226175549398803512', rule='metadsl_llvm.ir_llvmlite.builder_add', logs='', label=None), State(node='5766317548030036279', rule='metadsl_llvm.ir_llvmlite.builder_add', logs='', label=None), State(node='4959732644872606120', rule='metadsl_llvm.ir_llvmlite.block_ref_ret', logs='', label=None), State(node='-7660547217031557418', rule='metadsl_llvm.ir_llvmlite.create_box_fn[0]', logs='', label=None), State(node='441148786628745106', rule='metadsl_llvm.ir_llvmlite.create_box_fn[1]', logs='', label=None), State(node='-8650430477847290020', rule='metadsl_llvm.ir_llvmlite.block_ref_call_2', logs='', label=None), State(node='-7550566799044451848', rule='metadsl_llvm.ir_llvmlite.block_ref_ret', logs='', label=None), State(node='-8363099449071216883', rule='metadsl_llvm.ir_llvmlite.create_box_fn[0]', logs='', label=None), State(node='-2919567429423777224', rule='metadsl_llvm.ir_llvmlite.create_box_fn[1]', logs='', label=None), State(node='7476598601990581866', rule='metadsl_llvm.ir_llvmlite.create_box_mod[0]', logs='', label=None), State(node='-3985457603794740432', rule='metadsl_llvm.ir_llvmlite.create_box_mod[0]', logs='', label=None), State(node='5760499326501589971', rule='metadsl_llvm.ir_llvmlite.create_box_mod[1]', logs='', label=None), State(node='-5296320422260117959', rule='metadsl_llvm.ir_llvmlite.mod_str_rule', logs='', label=None), State(node='-5296320422260117959', rule='llvmlite.ir_llvmlite', logs='', label='llvmlite.ir_llvmlite'), State(node='-446054625915039273', rule='metadsl_llvm.ctypes.ctype_cint', logs='', label=None), State(node='6848375383423060400', rule='metadsl_llvm.ctypes.c_function_type_create_2', logs='', label=None), State(node='6848375383423060400', rule='llvmlite.ctypes', logs='', label='llvmlite.ctypes'), State(node='-6786196278752720331', rule='metadsl_llvm.llvmlite_binding.module_ref_create', logs='', label=None), State(node='6108704507281983584', rule='metadsl_llvm.llvmlite_binding.module_ref_optimize', logs='', label=None), State(node='-8558431301521666807', rule='metadsl_llvm.llvmlite_binding.execution_engine_create', logs='', label=None), State(node='-6820449032776078934', rule='metadsl_llvm.llvmlite_binding.execution_engine_address', logs='', label=None), State(node='-5213402086641655001', rule='metadsl_llvm.ctypes.cfunc_call', logs='', label=None), State(node='-5213402086641655001', rule='llvmlite.llvmlite_binding', logs='', label='llvmlite.llvmlite_binding')]))"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "int_type = ml.Type.create_int(32)\n",
    "one = ml.ValueExpr.from_value(ml.Value.constant(int_type, 1))\n",
    "\n",
    "mod_ref = ml.ModRef.create(\"add\")\n",
    "\n",
    "@ml.llvm_fn(mod_ref, ml.FnType.create(int_type, int_type, int_type))\n",
    "@mc.FunctionTwo.from_fn\n",
    "def add(l: ml.ValueExpr, r: ml.ValueExpr) -> ml.ValueExpr:\n",
    "    return l + r + one\n",
    "\n",
    "real_fn = metadsl_rewrite.execute(ml.compile_functions(mod_ref, ml.to_llvm(add)))\n",
    "assert real_fn(10, 11) == 22"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Basic Types\n",
    "\n",
    "Here we demos some of the basic types. \n",
    "\n",
    "For example, we can try to look at this function:\n",
    "\n",
    "```python\n",
    "def fn(x):\n",
    "    if x > 10:\n",
    "        return x + 100\n",
    "    return x - 100\n",
    "```"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "@mc.FunctionOne.from_fn\n",
    "def fn(x: mc.Integer) -> mc.Integer:\n",
    "    cond = x > mc.Integer.from_int(10)\n",
    "    true = x + mc.Integer.from_int(100)\n",
    "    false = x - mc.Integer.from_int(100)\n",
    "    return cond.if_(true, false)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Numpy\n",
    "\n",
    "**No longer working below this line**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "from metadsl_all import *"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Here, we show a NumPy API compatible DSL that we have started writing. We can create a symbolic expression and then execute it. The widget shows the different stages of execution:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "ename": "NameError",
     "evalue": "name 'arange' is not defined",
     "output_type": "error",
     "traceback": [
      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[0;31mNameError\u001b[0m                                 Traceback (most recent call last)",
      "Input \u001b[0;32mIn [2]\u001b[0m, in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m      1\u001b[0m N \u001b[38;5;241m=\u001b[39m \u001b[38;5;241m10\u001b[39m\n\u001b[0;32m----> 3\u001b[0m (\u001b[43marange\u001b[49m(N) \u001b[38;5;241m+\u001b[39m arange(N))[\u001b[38;5;241m5\u001b[39m]\u001b[38;5;241m.\u001b[39mto_ndarray()\n\u001b[1;32m      4\u001b[0m expr\n",
      "\u001b[0;31mNameError\u001b[0m: name 'arange' is not defined"
     ]
    }
   ],
   "source": [
    "N = 10\n",
    "\n",
    "(arange(N) + arange(N))[5].to_ndarray()\n",
    "expr"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now, we can add an optimization replacement, so that we do the getitem before adding the two expressions:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "ename": "NameError",
     "evalue": "name 'register_optimize' is not defined",
     "output_type": "error",
     "traceback": [
      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[0;31mNameError\u001b[0m                                 Traceback (most recent call last)",
      "\u001b[0;32m<ipython-input-3-8bc11af6253d>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0;34m@\u001b[0m\u001b[0mregister_optimize\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m      2\u001b[0m \u001b[0;34m@\u001b[0m\u001b[0mrule\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m      3\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0moptimize_getitem_add\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0ml\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mNDArray\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mr\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mNDArray\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0midx\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mIndxType\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m->\u001b[0m \u001b[0mR\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mNDArray\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m      4\u001b[0m     return (\n\u001b[1;32m      5\u001b[0m         \u001b[0;31m# expression to match against\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;31mNameError\u001b[0m: name 'register_optimize' is not defined"
     ]
    }
   ],
   "source": [
    "@register_optimize\n",
    "@rule\n",
    "def optimize_getitem_add(l: NDArray, r: NDArray, idx: IndxType) -> R[NDArray]:\n",
    "    return (\n",
    "        # expression to match against\n",
    "        (l + r)[idx],\n",
    "        # expression to replace it with\n",
    "        l[idx] + r[idx]\n",
    "    )"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now, when we look at the execution steps, we see that it is doing each getitem before adding, which should be more efficient:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "ename": "NameError",
     "evalue": "name 'expr' is not defined",
     "output_type": "error",
     "traceback": [
      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[0;31mNameError\u001b[0m                                 Traceback (most recent call last)",
      "\u001b[0;32m<ipython-input-4-2e8992c0ae1a>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mexpr\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
      "\u001b[0;31mNameError\u001b[0m: name 'expr' is not defined"
     ]
    }
   ],
   "source": [
    "expr"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "This shows how we can break up the NumPy API into different layers, all of which are extensible:\n",
    "\n",
    "1. A compatibility layer that works like the existing NumPy API, except isn't limited to the Python types of the current API\n",
    "2. A type safe version of this API. The conversion between the compatability layer and this layer is extensible, so that third party authors can add new conversion between their own Python objects and the typed representation.\n",
    "3. A backend layer that translates either back to Python calls or source code, or to other targets like LLVM or Tensorflow.\n",
    "\n",
    "The key is that all these layers are composable, so you could have different frontends for any of them or add your own. This is all done through a typed replacement system that is compatible with static analysis using MyPy.\n",
    "\n",
    "`metadsl` is the glue that allows us to define this API in a way that enables greater greater collaboration. Since each layer has it's own well defined specification, different projects can extend and target these seperate layers, while minimizing the need to explicitly opt in to collaborate. The goal is to enable greater reuse, interoperability, and extensability within the Python scientific ecosystem."
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.12"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
